Internet Download Manager(IDM) 定向爆破 - 软件调试区论坛 - 软件安全 - 孤独收藏阁 's Blog

Internet Download Manager(IDM) 定向爆破

【软件版本】
Internet Download Manager 6.42.11.2

【思路想法】
在启动idm时,会弹出注册窗体,大致猜测伪代码过程:
if(已注册){
    主程序();
}else{
    验证窗口();
}
所以应该只要找到这个if else语句就能进行强制跳转,完成定向爆破。

【分析工具】
1、Detect it easy
2、IDA pro
3、dbgx96(原版)

【爆破过程】
先试试主程序是否有壳:
1.png
用detect it easy试一试,结果如下:
2.png
应该是没有壳的,直接上IDA,但是我这里出现了问题,用IDA分析时,IDA跑自动分析,跑着跑着就卡死了,具体情况未知,我猜测是有反静态分析的代码在里面,我的IDA版本是IDA8,如果有大佬知道具体情况的,欢迎讨论。
3.png
所以只能用dbg来动态分析,具体分析过程如下:

从程序入口开始,先F8步过,找哪一个call会弹出注册窗体,一层一层地找:
4.png
每找一层就标记一个跳转注释设置断点,然后关闭注册窗口重新调试,整个过程还是比较痛苦的……因为前面几层都是在调用windows函数库,做创建窗体的准备:
5.png
比如这些库类函数。
6.png
之后找到了这一步,程序在循环读取文件地址,
7.png
大概率要进入到主程序判断了,果不其然,在读取完文件地址之后,找到一个离得很远的跳转指令
8.png
跳转之后更加明显了,提示注册失败的字符串正在被读取:
9.png
在读取完这一部分字符之后,紧跟着就是bool类型的判断函数,判断ebx和esi是否相同,
00451F63            | 3BF3                     | cmp esi,ebx                                       |
10.png
这里ebx和esi应该就是判断注册状态,图中显示的是跳转将要执行,因为我已经在自己电脑上破解过,之前未破解的时候是跳转不会执行,就会进入这一行:
00451F96            | E8 E2441A00              | call idman.5F647D                                 | 注册窗体函数
11.png
直接定向爆破,把:
00451F65            | 74 68                    | je idman.451FCF                                   | 注册窗体前跳转,找到了!!!
改为:
00451F65            | EB 68                    | jmp idman.451FCF                                  | 注册窗体前跳转,找到了!!!
即不管注册情况如何,始终跳过弹出注册的窗口,直接运行主程序
12.png
改完后运行,
13.png
程序正常启动,未弹出注册提示。最后打个补丁保存,完成破解。

请登录后发表评论

    没有回复内容