某.net软件下载限制破解思路

为避免引起责任问题,已对文中所有非逻辑相关的程序部分打码处理。

以下是文中用到的工具下载链接,皆来自互联网:

将待破解程序拖入Reflector。

某.net软件下载限制破解思路
报错

如果使用的是其他软件,如dotpeek,特征可能为:

  • 方法名大多为乱码
  • 方法的内容为// ISSUE: unable to decompile the method.
某.net软件下载限制破解思路

这种情况下可以初步判断程序有加壳处理。

使用 de4dot -d xxx.exe 对目标程序进行检测。

某.net软件下载限制破解思路
加壳检测结果

使用 de4dot xxx.exe 对目标程序脱壳,脱壳后会生成xxx-cleaned.exe。

某.net软件下载限制破解思路

将cleaned后的文件拖入Reflector即可查看大多数的方法。

仔细阅读代码根据特征找到待破解的关键部分。

这里是根据待破解的软件报错提示找到的。

某.net软件下载限制破解思路

只要将报错提示的条件绕过即可。

对.net程序进行修改需要使用Reflector的Reflexil插件,按图示可进行插件的安装。

某.net软件下载限制破解思路

安装成功后tools页面会出现如上图的Reflexil选项,点击即可。

某.net软件下载限制破解思路

如上图代码只需要绕过if中对 PublicConfig.AnimeDownload 的值判断即可。

在MSIL指令中表现为以下两行:

某.net软件下载限制破解思路

先将 PublicConfig.AnimeDownload 的值推入栈中,再由brtrue.s对值进行判断并跳转。

某.net软件下载限制破解思路

在brtrue.s条目上右键选择edit,将true改为false即可。

某.net软件下载限制破解思路
某.net软件下载限制破解思路

修改后在左侧列表中选择指定的程序右键->Reflexil->save as即可。

某.net软件下载限制破解思路

保存后会在当前目录生成一个xxx-cleaned.Patched.exe,即为破解后的可执行程序。

至于为什么这样修改不会影响到对其他内容的判断,猜测是后面的this.CR.get_Type()做了限制。

此软件还存在着另一个BatchDownload 需要修改,如果读者能够知道本文所破解的软件并能找到相关代码部分,如上文一样进行修改即可。

分享