首先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难搞 非我等菜鸟所能脱的 那么就做内存补丁吧
地址都找到了 内存补丁也容易了 附我的内存补丁
下面附上两张破解成功的图