Listary Pro逆向教程
转载自手把手教你破解Listary最新版V6.3.2.88Pro无弹窗~ - 吾爱破解 - 52pojie.cn
工具准备
-
Listary v6.3.2.88
官网下载地址
下载后正常安装,例如安装到D:\Program Files\Listary -
dnSpy v6.1.8
下载地址
下载dnSpy-net-win64.zip,解压到任意目录 -
de4dot v3.2.0.0
下载地址
下载de4dot-net8.0-winx64.zip,解压到任意目录
反混淆
- 将安装目录下的
D:\Program Files\Listary\Listary.exe拖到de4dot.exe上 - 安装目录下会生成
Listary-cleaned.exe - 重命名文件:
Listary.exe→Listary0.exeListary-cleaned.exe→Listary.exe
修改代码
-
打开
dnSpy.exe,将新的Listary.exe拖入程序集资源管理器 -
修改
Listary.Core.Pro/LicenseChecker- 右键
CheckLicense方法,选择“编辑方法” - 替换方法内容,点击右下角“编译” 修改代码
public static bool CheckLicense(string email, string license){// 替换掉原有的,直接返回truereturn true;} - 右键
-
修改
Listary.Core.Pro/LicenseProPageViewModel- 右键
CheckLicense()方法,选择“编辑方法” - 删除第15行,点击右下角“编译”
private void CheckLicense(){// 删除下面这行this.dt();} - 右键
-
修改
Listary.Core.Pro/ProService(共五处)- 右键
ProService,选择“编辑类” - 修改1:删除指定的两行
public bool IsPro{[CompilerGenerated]get{return this.bool_0;}[CompilerGenerated]private set{if (this.bool_0 == value){return;}this.bool_0 = value;this.<>OnPropertyChanged(Class373.LicenseEmail);this.<>OnPropertyChanged(Class373.IsPro);}} - 右键
-
修改2:跳到210行附近,删除指定内容,如图删除211-221行内容

-
修改3:将
ActivateNewLicense和method_2函数内容改为return Task.FromResult(new ProService.ActivationResult());以下为单个示例:
// Token: 0x06001177 RID: 4471 RVA: 0x0003A6D0 File Offset: 0x000388D0public Task<ProService.ActivationResult> ActivateNewLicense(string email, string licenseKey){ProService.Struct84 @struct;@struct.asyncTaskMethodBuilder_0 = AsyncTaskMethodBuilder<ProService.-ActivationResult>.Create();@struct.proService_0 = this;@struct.string_0 = email;@struct.string_1 = licenseKey;@struct.int_0 = -1;@struct.asyncTaskMethodBuilder_0.Start<ProService.Struct84>(ref @struct);return @struct.asyncTaskMethodBuilder_0.Task;return Task.FromResult(new ProService.ActivationResult());} -
修改4:将
DeactivateLicense、ScheduleAutoCheck、DebugTestActivateLicense、method_3函数内容改为return Task.CompletedTask;// Token: 0x06001178 RID: 4472 RVA: 0x0003A724 File Offset: 0x00038924public Task DeactivateLicense(){ProService.Struct85 @struct;@struct.asyncTaskMethodBuilder_0 = AsyncTaskMethodBuilder.Create();@struct.proService_0 = this;@struct.int_0 = -1;@struct.asyncTaskMethodBuilder_0.Start<ProService.Struct85>(ref @struct);return @struct.asyncTaskMethodBuilder_0.Task;return Task.CompletedTask;} -
修改5:修改完上述函数后,可能会遇到编译报错的情况。这时候请删除13行和224行:
//第13行using NLog;//第224行// Token: 0x04000951 RID: 2385private static readonly ILogger ilogger_0 = LogManager.GetCurrentClassLogger();
-
点击右下角“编译”
-
点击左上角“文件”,选择“保存模块”,确定
运行
将修改的Listary.exe覆盖原有的安装目录下的 Listary.exe
双击 Listary.exe,完成所有步骤,Enjoy 🎉