DNF如意0410A版破解小记

               首先OD载入,F9运行之(可能有时候要开DNF才能开外挂)  在VIP用户QQ处输入测试号123456 点击登入,弹出“登录失败,您不是会员,请充值!”  回到OD界面暂停   点击上面的“K”  查看调用堆栈    找到

 调用堆栈:     主线程, 条目 8

地址=0012E05C
堆栈=03630F8A
函数过程=? USER32.MessageBoxExA
调用来自=03630F85
结构=0012E058

在其上Ctrl+F9执行到返回

   然后点击被暂停的错误窗口 回到OD  F8跟进  知道程序跑到0040100后面

查找ASCII码

找到第一次提示登陆成功的地方

 

 

00404133   /0F84 29010000   je DnF如意0.00404262
00404139    6A 00           push 0x0
0040413B    6A 00           push 0x0
0040413D    6A 00           push 0x0
0040413F    68 01030080     push 0x80000301
00404144    6A 00           push 0x0
00404146    68 00000000     push 0x0
0040414B    68 04000080     push 0x80000004
00404150    6A 00           push 0x0
00404152    68 E1695400     push DnF如意0.005469E1      ; 登陆成功,进入仓库等30秒按HOME键呼出挂,如果呼不出请先开游戏后再开挂
00404157    68 03000000     push 0x3
0040415C    BB 30574100     mov ebx,DnF如意0.00415730
 
记住00404139这个地址(不能再上去了,跳转太多顾不上)
 
然后继续查找ASCII码
 
找到提示“用户过期,请充值”(应该有两处)
第一处
0040E8FC    68 00000000     push 0x0
0040E901    68 04000080     push 0x80000004
0040E906    6A 00           push 0x0
0040E908    68 E9BE6500     push DnF如意0.0065BEE9                     ; 用户已过期,请充值!
0040E90D    68 03000000     push 0x3
0040E912    BB 30574100     mov ebx,DnF如意0.00415730
0040E917    E8 A94A0000     call DnF如意0.004133C5
0040E91C    83C4 28         add esp,0x28
0040E91F    E9 2B050000     jmp DnF如意0.0040EE4F
 
第二处
 
0040EDC5    6A 00           push 0x0
0040EDC7    68 00000000     push 0x0
0040EDCC    68 04000080     push 0x80000004
0040EDD1    6A 00           push 0x0
0040EDD3    68 E9BE6500     push DnF如意0.0065BEE9                     ; 用户已过期,请充值!
0040EDD8    68 03000000     push 0x3
0040EDDD    BB 30574100     mov ebx,DnF如意0.00415730
0040EDE2    E8 DE450000     call DnF如意0.004133C5
0040EDE7    83C4 28         add esp,0x28
0040EDEA    E9 30000000     jmp DnF如意0.0040EE1F
0040EDEF    6A 00           push 0x0
 
将这两处call后面的地址均改成00404139
 
别以为大功告成了  这要是以前确实可以了  但我们还稍微下拉一点就会发现还有两处提示
 
0040EDFC    68 00000000     push 0x0
0040EE01    68 04000080     push 0x80000004
0040EE06    6A 00           push 0x0
0040EE08    68 FEBE6500     push DnF如意0.0065BEFE                     ; 登陆失败!登陆失败!您不会会员请充值
0040EE0D    68 03000000     push 0x3
0040EE12    BB 30574100     mov ebx,DnF如意0.00415730
0040EE17    E8 A9450000     call DnF如意0.004133C5
0040EE1C    83C4 28         add esp,0x28
0040EE1F    6A 00           push 0x0
0040EE21    6A 00           push 0x0
0040EE23    6A 00           push 0x0
0040EE25    68 01030080     push 0x80000301
0040EE2A    6A 00           push 0x0
0040EE2C    68 00000000     push 0x0
0040EE31    68 04000080     push 0x80000004
0040EE36    6A 00           push 0x0
0040EE38    68 FEBE6500     push DnF如意0.0065BEFE                     ; 登陆失败!登陆失败!您不会会员请充值
0040EE3D    68 03000000     push 0x3
0040EE42    BB 30574100     mov ebx,DnF如意0.00415730
0040EE47    E8 79450000     call DnF如意0.004133C5
0040EE4C    83C4 28         add esp,0x28
0040EE4F    8B5D FC         mov ebx,dword ptr ss:[ebp-0x4]
0040EE52    85DB            test ebx,ebx
 
我们得把这两处的Call也得Call到正确的地方去  即00404139
 
这才算大功告成,由于DNF如意一直加的TMD壳   真TMD难搞  非我等菜鸟所能脱的  那么就做内存补丁吧
地址都找到了  内存补丁也容易了  附我的内存补丁
 
下面附上两张破解成功的图