PS:本帖仅记录我与“反调试”战斗的夜晚,大神/大佬可以当没看到直接跳过,多谢!~
昨日偶逛论坛,看到有人求破解压缩包密码,于是搜寻之下得一软件,界面是这样的
1.jpg
1
我发现这个软件似乎还没破解,于是想试它一试,创建一个带密码的test压缩包,密码为52PJ
2.jpg
2
打开软件导入test压缩包,点击“组合破解”然后点击“下一步”。
3.jpg
3
我知道破解密码一般都是穷举,说白点就是所有可能的密码都试一遍,所以小写字母、大写字母、数字、符号都全选。
4.jpg
4
然后点击下一步后出现要求注册的框,果然没破解。
5.jpg
5
6.jpg
6
没关系,闲来无事,我分析看看,将安装包脱到PE中查壳
7.jpg
7
EP段为:itext,无壳的,Inno Setup Module 5 [SFX]是一种压缩格式,所以我用安装好的exe重新查壳结果为text无壳,用DIE64查源代码为VC,但也有可能是易语言
8.jpg
8
9.jpg
9
于是直接OD打开分析,但是没有看到易语言的影子,而且我的OD一运行就卡死,一开始我我还以为是我虚拟机的内存设置不够,运行不了这个软件。
10.jpg
10
于是我傻乎乎的关掉虚拟机,直接在桌面上打开OD分析,我发现按F9运行后,导入test压缩包,点“下一步”没反应,于是我后背一凉,糟了,我是不是被“反调试”了。
11.jpg
11
我脑子里快速搜索,反调试可能出现的情景:删文件格盘?电脑死机?磁盘中毒?,于是我使出终极大招:ctrl+Alt+Del强制结束软件运行。
还好目前看起来只是这个“反调试”只是卡住不执行,没有格盘和中毒的风险。我长长舒了一口气,掉了支烟,打开OD,因为我知道“反调试”只有在OD中运行时才会启动,所以我先找找破绽。
我发现,这个软件最大的破绽在点击“立即购买”后会弹出一个网站。
12.jpg
12
于是我根据这个网站,用中文搜索,智能搜索,找到了这个位置。
13.jpg
13
这个位置,下面有一个字符串,就是我感兴趣的,就是“注册成功”位置。
14.jpg
14
双击便来到了代码行,理论上如果我找到“注册成功”的跳转,修改为JMP(无条件跳转),这个软件就破解了。
15.jpg
15
思路没错,但是现在最大一个问题是,我还在被“反调试”调戏,于是在进程CreateToolhelp32Snapshot下断
16.jpg
16
因为前面查软件无壳,所以不可能为脱壳后大小处“反调试”,而考虑进程ID处“反调试”,果然找到了。
17.jpg
17
然后一路CTRL+F9,再F8,到这个位置,程序执行到这里,有点可疑,这个图片是主程序的框,继续往下。
19.jpg
19
这里应该是在调用导入rar格式文件,由于我卡住得地方是导入文件,现在破解方式后“下一步”的按钮的位置,所以的继续往下。
20.jpg
我一直按F8往下,到这里程序卡住不动我,我想我里成功应该不远了,于是,关掉OD,再次重复以上调试。找到刚才卡住得位置,往上找到哪个大跳转je,改为jmp就完美解决。
21.jpg
21
22.jpg
22
完毕按刚才的思路找到“注册成功”然后成功破解。完毕长舒一口气,点一直香烟,看看时钟已然凌晨,压缩密码破解效果带上,睡去。
23.jpg
23
24.jpg
24