2016年魔域春节活动两种躲避服务器检测(直接登陆)的方法,分享过程~
本帖最后由 maxwgf 于 2017-1-30 20:25 编辑
祝大家新年快乐!祝吾爱论坛发展越来越好!
1)F12暂停法;
2)借助按钮事件。
躲避服务器检测,当我们输入用户名与口令或者密码的时候,程序会将这些字符发送到某个网站上进行验证,如果验证通过就可以进入主程序,否则,额,就是错误提示...下面进入主题。
第一种方法:F12暂停法
1、查壳,是Aspack壳,用ESP定律法脱壳+IAT修复即可,这里不赘述;

1.png (30.47 KB, 下载次数: 27)
下载附件
2017-1-30 18:37 上传
2、OD载入脱壳后的文件,F9运行,程序跑起来后,直接F12暂停,然后点击菜单栏里的K,选择最后一个,右键-显示调用;

3.png (74.69 KB, 下载次数: 21)
下载附件
2017-1-30 18:40 上传

4.png (40.7 KB, 下载次数: 20)
下载附件
2017-1-30 18:40 上传
3、进入这段程序后,发现没有跳转可以跳过这个调用call,于是找到这段程序的段首,F2下断点,然后重新载入程序,F9运行,程序被断下来,在堆栈窗找到第一行,右键-在反汇编中跟随;

5.png (72.16 KB, 下载次数: 16)
下载附件
2017-1-30 18:43 上传
4、来到这个调用call,我们直接找到段首,结果我们发现,这个就是程序的入口点,巧了


6.png (73.37 KB, 下载次数: 16)
下载附件
2017-1-30 18:46 上传
5、同时我们看到关键call附近也没用跳转可以跳过它,那我们试试直接将其nop掉,F9运行看看;

30.png (73.57 KB, 下载次数: 20)
下载附件
2017-1-30 18:51 上传
直接跳过登陆框进入主程序,第一种方法已经达到目的,保存文件。

第二种方法:借助按钮事件
1、脱壳后用PEID查发现是Delphi语言写的,首先用OD载入脱壳后的文件,F9运行程序,跑起来后,我们输入用户名与口令(随意),点击登陆,出现错误提示框;

9.png (29.8 KB, 下载次数: 21)
下载附件
2017-1-30 19:07 上传

10.png (42.81 KB, 下载次数: 19)
下载附件
2017-1-30 19:09 上传
2、那么【登陆】就是我们的按钮事件,用IDR(爱盘里可以下载)查询按钮事件【登陆】的地址是:00553FFC,我们在OD里重新载入程序,接着Ctrl+G,转到这个【登陆】按钮所在的地址;

11.png (71.58 KB, 下载次数: 18)
下载附件
2017-1-30 19:15 上传
3、然后再F2下断点,F9运行程序,程序跑起来并且出现登陆框,我们点击【登陆】,此时程序因为按钮事件而断下,接着就是单步了;

12.png (72.07 KB, 下载次数: 15)
下载附件
2017-1-30 19:15 上传
4、我们发现,单步到00554076 E8 65050000 call dumped_.005545E0时,程序跑起来,对于服务器的网络验证call一般可以采取nop掉或者让前面的某个跳转跳过它的办法,对于这个call,前面没有跳转可以跳过它,nop掉的话登录框的登录键会变成灰色,所以在这里F7进去;

13.png (40.33 KB, 下载次数: 18)
下载附件
2017-1-30 19:19 上传
5、接着继续单步,到00554791 E8 16F9FFFF call dumped_.005540AC处时,程序再次跑起来,跟第4步一样,我们F7进去,继续单步,单步到005541BC E8 B7E8FFFF call dumped_.00552A78处时,程序唤起服务器网络验证,nop掉后程序会显示验证失败,说明这个是调起服务器网络验证的关键call,因为前面没有跳转能够跳过它,所以直接将其nop掉,继续单步;

14.png (43.26 KB, 下载次数: 22)
下载附件
2017-1-30 19:29 上传
6、单步到005543F5 |. E8 0639EBFF call <jmp.&user32.MessageBoxA>处时,程序跑起来,从提示框可以看出,这是个唤起验证失败的关键call,跟我们一开始看到的失败框是一样的,而就在它前面不远处,005543C8 /74 30 je short dumped_.005543FA ,正好能够跳过这个唤起验证失败的关键call;

15.png (42.91 KB, 下载次数: 17)
下载附件
2017-1-30 19:31 上传

16.png (73.24 KB, 下载次数: 16)
下载附件
2017-1-30 19:36 上传
7、那么很明确了,我们需要将005543C8 /74 30 je short dumped_.005543FA 处的je改成jmp,但并不是只需要改这一处就完事了,如果只改这一个地方,F9运行,发现还是验证失败;

31.png (76.9 KB, 下载次数: 18)
下载附件
2017-1-30 19:43 上传
8、所以我们需要加工一下,在005543C8前面有很多的跳转,我们慢慢调试,肯定可以调试成功的,往上看,分析发现,如果005541CD /0F84 8C000000 je dumped_.0055425F这个地方,这个je不处理的话会验证失败,所以要让他跳转,将je改成jmp;

32.png (70.01 KB, 下载次数: 21)
下载附件
2017-1-30 19:49 上传
9、再次F9运行,程序依然提示验证失败,说明还要继续修改,那改完005541CD后接着单步吧,看看还有什么地方要修改的,单步来到00554273 /7E 5A jle short dumped_.005542CF处,该跳转已实现,试试将其nop掉,然后F9运行,发现,大功告成


34.png (77.65 KB, 下载次数: 16)
下载附件
2017-1-30 19:53 上传
10、保存文件,运行一下试试,发现确实可以进入主程序,到这里为止,所有步骤都结束了。

18.png (43.4 KB, 下载次数: 19)
下载附件
2017-1-30 19:55 上传
方法二在经历多番调试后,终于成功躲避了服务器的网络验证,与方法一相比,方法二确实要花费太多时间,二者的区别在于:

19.png (47.74 KB, 下载次数: 17)
下载附件
2017-1-30 19:55 上传
方法一在这个功能上会受限制,后来我尝试了在方法一的基础上破解这个功能,最后得出的结论就是:方法二=方法一+搜索字符串破解引擎功能

以上分析谨代表个人观点,如有不足还请指正

程序下载地址:https://pan.baidu.com/s/1pLAUJZt 密码: 52pj
点评

新手教程。很好理解呢 发表于 2017-1-30 20:29
免费评分 参与人数 100吾爱币 +112 热心值 +95 理由



































































































查看全部评分