【文章标题】: 某软件跳过服务器验证+自验校
【文章作者】: 阿杰
【作者邮箱】: 673943168@qq.com
【作者QQ号】: 673943168
【软件名称】: 某多开器
【下载地址】: 由于是给客户破解的所以就不公布了
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【使用工具】: OD 大脑+双手
【软件介绍】: 一个游戏的多开器,用了服务器验证+软件本身自验校
【作者声明】: 失误之处敬请大家赐教!
--------------------------------------------------------------------------------
1. ASPack 2.12 -> Alexey Solodovnikov的壳ESP定律,或者脱壳机都可以脱掉!
2.客户给我的时候我是联网下运行的结果一闪就没了,客户也说过是把机器码提取出来发送给作者然后才可以用,所以很明显是服务器验证!
3.方法:首先断开网络,试运行程序:弹出错误!
4.用OD载入:
用堆栈调用法去掉窗口!F9运行
0048EB1C /$ 55 push ebp
0048EB1D |. 8BEC mov ebp,esp
0048EB1F |. 81C4 7CFFFFFF add esp,-84
0048EB25 |. 833D 189F4900>cmp dword ptr ds:[499F18],0
0048EB2C |. 53 push ebx
0048EB2D |. 56 push esi
0048EB2E |. 8B75 08 mov esi,[arg.1]
0048EB31 |. 0F85 BF000000 jnz 喜洋洋多.0048EBF6
这句可以跳过弹出窗口jnz改jmp,保存即可!
0048EB37 |. 833D 149F4900>cmp dword ptr ds:[499F14],0
0048EB3E |. 0F85 B2000000 jnz 喜洋洋多.0048EBF6
0048EB44 |. 833D F8A04900>cmp dword ptr ds:[49A0F8],0
0048EB4B |. 74 63 je short 喜洋洋多.0048EBB0
0048EB4D |. 68 80000000 push 80 ; /BufSize = 80 (128.)
0048EB52 |. 8D85 7CFFFFFF lea eax,[local.33] ; |
0048EB58 |. 50 push eax ; |PathBuffer
0048EB59 |. 6A 00 push 0 ; |hModule = NULL
0048EB5B |. E8 6E5F0000 call <jmp.&KERNEL32.GetModuleFileNameA> ; \GetModuleFileNameA
0048EB60 |. 6A 5C push 5C ; /Arg2 = 0000005C
0048EB62 |. 8D95 7CFFFFFF lea edx,[local.33] ; |
0048EB68 |. 52 push edx ; |Arg1
0048EB69 |. E8 7EFDFFFF call 喜洋洋多.0048E8EC ; \喜洋洋多.0048E8EC
0048EB6E |. 83C4 08 add esp,8
0048EB71 |. 8BD8 mov ebx,eax
0048EB73 |. 85C0 test eax,eax
0048EB75 |. 75 1F jnz short 喜洋洋多.0048EB96
0048EB77 |. 6A 3A push 3A ; /Arg2 = 0000003A
0048EB79 |. 8D95 7CFFFFFF lea edx,[local.33] ; |
0048EB7F |. 52 push edx ; |Arg1
0048EB80 |. E8 67FDFFFF call 喜洋洋多.0048E8EC ; \喜洋洋多.0048E8EC
0048EB85 |. 83C4 08 add esp,8
0048EB88 |. 8BD8 mov ebx,eax
0048EB8A |. 85C0 test eax,eax
0048EB8C |. 75 08 jnz short 喜洋洋多.0048EB96
0048EB8E |. 8D9D 7CFFFFFF lea ebx,[local.33]
0048EB94 |. EB 01 jmp short 喜洋洋多.0048EB97
0048EB96 |> 43 inc ebx
0048EB97 |> E8 3CFFFFFF call 喜洋洋多.0048EAD8
0048EB9C |. 0D 10000100 or eax,10010
0048EBA1 |. 50 push eax ; /Style
0048EBA2 |. 53 push ebx ; |Title
0048EBA3 |. 56 push esi ; |Text
0048EBA4 |. 6A 00 push 0 ; |hOwner = NULL
0048EBA6 |. E8 CB650000 call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
去掉窗口后,依然是运行后一闪就没了!OD载入Ctrl+N
ExiProcess 这个是调用退出的,右键在每个参考上设置断点!F9运行
0048F934 /$ 55 push ebp
在此处Ctrl+R 把所有的F2下断,Alt+F9返回,并F9运行
断在这,呵呵看到了吧
0048ECC3 |. /75 0C jnz short 111.0048ECD1
这句就是跳过验证的了jnz改jmp保存!
结束:到此破解就结束了看图
外挂已经出来了!
破文总结:破解服务器验证主要是利用了在断网状态下,程序无法发送数据包到服务器,从而他弹出出错误,以此为突破口!另外自验校,我就不多说了,呵呵大家应该能看懂!
破文.doc
忘了看雪不能上传图片所以把破文上传了!{希望看雪能给个邀请码吧}
【版权声明】: 本文原创于阿杰, 转载请注明作者并保持文章的完整, 谢谢!
2010年06月15日 下午 03:16:54
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)