109 lines
3.6 KiB
C#
109 lines
3.6 KiB
C#
using Avalonia;
|
||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||
using Avalonia.Platform;
|
||
using MES.Utility.Core;
|
||
using Microsoft.Win32;
|
||
using System;
|
||
using System.IO;
|
||
using Ursa.Controls;
|
||
using 常用工具集.Base;
|
||
|
||
namespace 常用工具集.ViewModel._04破解及系统相关
|
||
{
|
||
public class AdobeAcrobatXI破解ViewModel : ViewModelBase
|
||
{
|
||
public string FilePath { get; set; } = "";
|
||
public DelegateCommand FindPathCmd { get; set; }
|
||
public DelegateCommand CrackCmd { get; set; }
|
||
|
||
public AdobeAcrobatXI破解ViewModel()
|
||
{
|
||
FindPathCmd = new DelegateCommand(FindPathCmdFunc);
|
||
CrackCmd = new DelegateCommand(CrackCmdFunc);
|
||
}
|
||
|
||
|
||
|
||
private void FindPathCmdFunc(object obj)
|
||
{
|
||
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software");
|
||
registryKey = registryKey.OpenSubKey("Adobe");
|
||
if (registryKey == null)
|
||
{
|
||
MessageBox.ShowAsync("当前计算机未安装Adobe Acrobat XI");
|
||
return;
|
||
}
|
||
registryKey = registryKey.OpenSubKey("Adobe Acrobat");
|
||
if (registryKey == null)
|
||
{
|
||
MessageBox.ShowAsync("当前计算机未安装Adobe Acrobat XI");
|
||
return;
|
||
}
|
||
registryKey = registryKey.OpenSubKey("11.0");
|
||
if (registryKey == null)
|
||
{
|
||
MessageBox.ShowAsync("当前计算机未安装Adobe Acrobat XI");
|
||
return;
|
||
}
|
||
registryKey = registryKey.OpenSubKey("InstallPath");
|
||
if (registryKey == null)
|
||
{
|
||
MessageBox.ShowAsync("获得路径失败,请手动输入路径");
|
||
return;
|
||
}
|
||
string path = registryKey.GetValue("").ToString();
|
||
FilePath = path;
|
||
}
|
||
|
||
|
||
private void CrackCmdFunc(object obj)
|
||
{
|
||
try
|
||
{
|
||
string path = FilePath;
|
||
if (path.IsNullOrEmpty())
|
||
{
|
||
MessageBox.ShowAsync("请查找或者输入Adobe Acrobat XI安装目录");
|
||
return;
|
||
}
|
||
if (!Directory.Exists(path))
|
||
{
|
||
MessageBox.ShowAsync("文件夹不存在,破解失败");
|
||
return;
|
||
}
|
||
path = path.Replace("\\", "/");
|
||
if (!path.EndsWith("/"))
|
||
path += "/";
|
||
path += "amtlib.dll";
|
||
|
||
byte[] bytes = null;
|
||
// 获取Pack URI
|
||
string packUri = "avares://常用工具集/Assets/AcrobatXI/amtlib.dll";
|
||
// 使用Pack URI打开文件并读取内容
|
||
if (!File.Exists(path))
|
||
{
|
||
MessageBox.ShowAsync("amtlib.dll文件不存在,请手动输入路径");
|
||
return;
|
||
}
|
||
using (Stream stream = AssetLoader.Open(new Uri(packUri)))
|
||
{
|
||
bytes = new byte[stream.Length];
|
||
stream.Read(bytes, 0, bytes.Length);
|
||
}
|
||
using (FileStream fs = new FileStream(path, FileMode.Create))
|
||
{
|
||
using (BinaryWriter bw = new BinaryWriter(fs))
|
||
{
|
||
bw.Write(bytes);
|
||
}
|
||
}
|
||
MessageBox.ShowAsync("破解完成");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MessageBox.ShowAsync("破解失败:" + ex.Message);
|
||
}
|
||
}
|
||
}
|
||
}
|