爆破DNF外挂(文件貌似有壳,但是我就这么直接无视他了.)
求个邀请码,本人菜鸟.但是想来看雪学习.于是........语言不专业的地方请见谅
外挂是网络验证,拿到外挂后查了下壳.结果什么也没有 如下图:2
这个外挂有很多的提示,很好下手.因为是易语言写的.
所以我就用E-Debug Events V1.5找了下按钮事件如下图:3,4
然后就根据错误信息框,代码回嗍.来到出错call
首先下断 bp MessageBoxA 断在 图5
77D5058A > 8BFF mov edi,edi ; 消息断点断在这里
然后回嗍代码 来到
第一次回溯
0041D210 FF15 3C944900 call dword ptr ds:[<&USER32.MessageBoxA>>; USER32.MessageBoxA
函数头
0041D170 83EC 64 sub esp,0x64
第二次回嗍
004379EF FFD3 call ebx
第三次
0040758B E8 893A0100 call No1.0041B019 //错误消息提示
这里就回到了按钮事件那个call里面了
然后我就从按钮事件头开始跟...如图:6
因为没有脱壳 ,所以代码看起来特别的别扭.....主要是没那能耐,哪位友友有兴趣可以试试
经过漫长的跟踪和对比发现这里有问题
00407736 /0F84 14010000 je No1.00407850 ; 这里不要让他跳
图7
我在跟的时候特别的郁闷 ....因为这行代码明显在"错误消息提示"下面......
可是等一下这行代码又会跑到“跳”的下面来,汗!
而且都是在一个事件里面.......可能是壳的原因吧.不废话了,继续
为什么有问题呢?因为只有这里"这个跳"才能跳过那个"错误的信息提示"
于是 je改 jne 就这么搞定了 图8
但是这里还有一个问题:貌似是壳没有解码的原因....所以用OD 直接修改的文件保存后运行时出错
下面是跳那里改前后的代码比较
0040772A E8 D2380100 call No1.0041B001
0040772F 83C4 04 add esp,0x4
00407732 837D F8 00 cmp dword ptr ss:[ebp-0x8],0x0
00407736 0F84 14010000 je No1.00407850 ; 我跟了一下发现这里有问题,只要让他不跳就OK了
0040773C 6A FF push -0x1
0040773E 6A 08 push 0x8
00407740 68 08000116 push 0x16010008
00407745 68 01000152 push 0x52010001
0040774A E8 DC380100 call No1.0041B02B
修改后的文件一运行到这里就出错........后来又用OD 看了下.发现修改后代码不是我改的那样.......代码如下:
0040772A E8 D2380100 call No1_3.0041B001
0040772F 83C4 04 add esp,0x4
00407732 837D F8 00 cmp dword ptr ss:[ebp-0x8],0x0
00407736 8F ??? ; 未知命令//成这鬼样子了
00407737 DCC4 fadd st(4),st
00407739 A4 movs byte ptr es:[edi],byte ptr ds:[esi]
0040773A 7F 57 jg short No1_3.00407793
0040773C 6A FF push -0x1
0040773E 6A 08 push 0x8
最后我实在没办法,就给他做了个内存补丁....结果能用..
文章完!
希望各位大侠给指点文章的不足
声明: 本文仅供研究学习,本人对因这篇文章而导致的一切后果,不承担任何法律责任。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)