基于逆向之后的学习扩展-破解exe

admin 2026-02-09 01:04:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章记录了作者逆向破解一个exe程序的过程。首先使用IDA进行静态分析和动态调试,发现程序是C#编写的加载器,将真实代码隐藏在资源文件中。通过dnspy工具加载分析,发现代码被混淆处理,借助开源解密工具去混淆后,直接修改激活码校验逻辑和暗桩检测,最终实现破解。文章强调了调试时需注意汇编指令执行顺序、内存权限等问题,并提醒仅供学习参考。 综合评分: 72 文章分类: 逆向分析,二进制安全,安全工具,实战经验,漏洞分析


cover_image

基于逆向之后的学习扩展-破解exe

原创

0l0123456 0l0123456

安全Vlog

2026年2月8日 10:30 广东

故事源于上个文章逆向分析的时候捡到一个exe试图看看能不能把他破解掉,因为逆向破解不分家只是做的事情不一样,之后就开始倒腾了~

多数破解的难题,其实都在反破解混淆加密算法这些保护,究其本质就是把激活码,校验的地方给他进行汇编修改成nop让他不再运行这部分的代码,其他功能正常运行即可。

还有就是想办法对软件进行动态调试,看看调试到哪一步是进激活码之类的,然后一样想办法改nop不让他继续校验直接跳到正常运行功能逻辑即可,原理都是一样的。

因为破解也比较敏感,截图都打码了,手下留情啊大哥们!!

正式进入主题~

基于上个文章的逆向分析,我直接打开无敌ida拖进去,先静态分析看看代码内容。

一样的,我们看入口main函数,然后一点点看下去。

Ida同样支持动态调试exe~太无敌了。

在Debugger调试这里选择windows启动,之后就会出现图中这样,F9启动程序,记得打断点,之后就可以一下下步进步入,跟调试Java代码一样。

但是exe动态调试比较恶心,因为走代码时候,实际上走的是底层的汇编指令,ida强大一点是可以让你看伪代码去跟着调试,但实际还是汇编指令。

所以调试时候会有一些问题在,比如调试时候按照Java代码调试,你肯定把断点打在任意位置直接跳进去,但是这里不行,我们要从上到下差不多地方打断点。

建议使用F4直接运行到这里,而不是步过,因为在后面一些函数运行时候他需要一些变量被赋值,如果你学过汇编会知道eip寄存器,让指针直接跳到对应汇编指令执行,这是行不通的,因为前面的代码要先被运行,后面的逻辑才能有变量可用,所以你要一点点调试看着来,不能直接跳,不然直接报错就调试个蛋了。。。

期间还遇到memset这样的函数,大概是清空前面设置的内存空间,释放内存,资源等,但是因为说了调试exe时候有些东西要先被赋值之类的,我在调试的时候走到memset就报错,目标内存地址写入错误,不够权限之类的。

这也很恶心,我猜测是因为清空以后这个地方就没了,然后调试exe他直接报错觉得这地方没了,走不下去卡住了,但是程序运行不会管这些,直接走下面地方。。这也是静态exe调试跟源代码不同的地方。

甚至伪代码也不一定是完全的,有的反分析手段是故意留一些空给你,需要手动修改其中内容,让ida找到正确逻辑来显示正确代码才能继续调试分析。

所以这里我直接tab,把汇编代码改成nop,把memset删掉。

之后就正常了,而且断点前面打了三个,按着顺序从前到后一步步走到下面,这样代码才能正常。

ok然后一直调试到了后面,发现是个Csharp#。程序。。而且把代码丢给Ai分析了一下,这更像是一个exe加载器,相当于把本体字节藏到里面,然后解密加载到内存使用,这不是一个本体。

但是鉴于c#。的特殊原因,我们可以利用dnspy直接加载,拖进去看看里面的内容。

果不其然根据代码内容,他读取资源底下的一个文件,这个其实才是本体,在搞下来以后发现被混淆了,这里也感谢某巨佬,我在这里卡住了,不知道是混淆了还是有壳,主要我也不是细分专门搞这个的,在他的经验观察下,鉴定应该是被混淆了而且这个混淆很简单的。。在某神奇仓库处一搜其实已经有了解密工具,直接梭哈就解密了。。

如果真是内部自己搞的混淆反调试反逆向,那真是头大。。还得自己分析,手拖。。巨佬牛逼!

之后很幸运,这个因为c#。代码的特殊,可以通过dnspy直接把里面的代码修改,就直接给破了。。改了激活码逻辑,暗桩检测等等,之后就可以正常使用这个程序了。。思路都差不多,剩下自行脑补~。

再次说明不要做安全违法的事情,仅供学习参考。。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全Vlog 0l0123456 0l0123456《基于逆向之后的学习扩展-破解exe》

评论:0   参与:  0