[摘要]登录网站的时候相信大家都要验证,但是这种方法有时候又是非常的麻烦,比如要输账号密码或者验证码什么的,那么究竟有没有什么方法来躲避呢?就了解,目前只有两张办法可以做到,第一种就是f12的暂停法,第二种... 登录网站的时候相信大家都要验证,但是这种方法有时候又是非常的麻烦,比如要输账号密码或者验证码什么的,那么究竟有没有什么方法来躲避呢?就了解,目前只有两张办法可以做到,第一种就是f12的暂停法,第二种则是借助按钮事件来达到完成的目的 ,这样当我们登录一个地方的时候就可以绕过账号以及密码了!
第一种方法:F12暂停法
1、查壳,是Aspack壳,用ESP定律法脱壳+IAT修复即可,这里不赘述;
2、OD载入脱壳后的文件,F9运行,程序跑起来后,直接F12暂停,然后点击菜单栏里的K,选择最后一个,右键-显示调用;
3、进入这段程序后,发现没有跳转可以跳过这个调用call,于是找到这段程序的段首,F2下断点,然后重新载入程序,F9运行,程序被断下来,在堆栈窗找到第一行,右键-在反汇编中跟随;
4、来到这个调用call,我们直接找到段首,结果我们发现,这个就是程序的入口点,巧了
5、同时我们看到关键call附近也没用跳转可以跳过它,那我们试试直接将其nop掉,F9运行看看;
直接跳过登陆框进入主程序,第一种方法已经达到目的,保存文件。
第二种方法:借助按钮事件
1、脱壳后用PEID查发现是Delphi语言写的,首先用OD载入脱壳后的文件,F9运行程序,跑起来后,我们输入用户名与口令(随意),点击登陆,出现错误提示
2、那么【登陆】就是我们的按钮事件,用IDR(爱盘里可以下载)查询按钮事件【登陆】的地址是00553FFC,我们在OD里重新载入程序,接着Ctrl+G,转到这个【登陆】按钮所在的地址;
3、然后再F2下断点,F9运行程序,程序跑起来并且出现登陆框,我们点击【登陆】,此时程序因为按钮事件而断下,接着就是单步了;
4、我们发现,单步到00554076 E8 65050000 call dumped_.005545E0时,程序跑起来,对于服务器的网络验证call一般可以采取nop掉或者让前面的某个跳转跳过它的办法,对于这个call,前面没有跳转可以跳过它,nop掉的话登录框的登录键会变成灰色,所以在这里F7进去;
5、接着继续单步,到00554791 E8 16F9FFFF call dumped_.005540AC处时,程序再次跑起来,跟第4步一样,我们F7进去,继续单步,单步到005541BC E8 B7E8FFFF call dumped_.00552A78处时,程序唤起服务器网络验证,nop掉后程序会显示验证失败,说明这个是调起服务器网络验证的关键call,因为前面没有跳转能够跳过它,所以直接将其nop掉,继续单步;
6、单步到005543F5 |