这是一款正在流行的免费网游加速器,加速效果非常不错,而且有网吧加成。之所以破解该软件,是因为这款软件在前段时间提出停止对非电信及网通用户提供免费服务,请这类垃圾宽带用户使用收费的27代理。
该软件加了壳:ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov [Overlay],没有合适的脱壳机。
我的目的:脱壳后通过简单爆破达到垃圾宽带照样正常使用。(我真的是一个菜鸟,玩破解加起来没几天,有什么答的不对的和不好的请指出,谢谢),那开始破解吧
这是ASProtect 1.2x - 1.3x的壳,我们需要用到脚本:Aspr2.XX_unpacker_v1.0SC.osc,OD加载软件后,选择否(不分析),右键—运行脚本(P)--打开“Aspr2.XX_unpacker_v1.0SC.osc”,然后就会全自动脱壳了,脱完了提示“有偷窃代码,请查看记录窗口内的IAT数据”,好的,那我们点OD—查看—记录(L)。
拉到最下面,红色部分显示
IAT 的地址 = 0050C26C
IAT 的相对地址 = 0010C26C
IAT 的大小 = 00000934
OEP 的地址 = 005044C8
OEP 的相对地址 = 001044C8
此时在软件的目录里生成了一个de_ipmana.exe,这就是脱壳后的文件,目前还不能使用,有待修复。(这里强调一下,修复用到了ImportREC,不知道什么原因,我64位的win7无法使用该软件修复,所以我用到了虚拟机xp进行修复)
具体修复过程,打开ImportREC,加载程序,在OPE填入OEP 的相对地址 = 001044C8,RVA填入IAT 的相对地址 = 0010C26C,Size填入IAT 的大小 = 00000934,好了,点击Get Imports,再Fix Dump就修复完成了,生成一个de_ipmana_.exe,现在的脱壳文件可以运行了!爽歪歪
OD打开脱壳后的文件
005044C8 > $- E9 33CB0800 jmp de_ipman.00591000
005044CD AD db AD
005044CE 57 db 57 ; CHAR 'W'
005044CF 73 db 73 ; CHAR 's'
005044D0 07 db 07
005044D1 DD db DD
005044D2 A5 db A5
005044D3 9F db 9F
005044D4 A4 db A4
005044D5 D1 db D1
005044D6 FA db FA
005044D7 2C db 2C ; CHAR ','
005044D8 09 db 09
005044D9 31 db 31 ; CHAR '1'
005044DA 1C db 1C
005044DB 47 db 47 ; CHAR 'G'
005044DC 8F db 8F
005044DD 09 db 09
005044DE 78 db 78 ; CHAR 'x'
005044DF BA db BA
005044E0 CF db CF
005044E1 34 db 34 ; CHAR '4'
005044E2 50 db 50 ; CHAR 'P'
005044E3 7F db 7F
005044E4 11 db 11
005044E5 E6 db E6
005044E6 B1 db B1
005044E7 B1 db B1
005044E8 C9 db C9
005044E9 BC db BC
005044EA DA db DA
005044EB 60 db 60 ; CHAR '`'
005044EC . 58 pop eax ; kernel32.758A339A
005044ED . C2 AFDE retn 0xDEAF
005044F0 52 db 52 ; CHAR 'R'
005044F1 5C db 5C ; CHAR '\'
005044F2 50 db 50 ; CHAR 'P'
F9运行软件,该软件可以使用试用账号,也可以使用私有账号,这里随便吧,运行后,点击“登陆”,弹出信息框“你的网络不能使用IP加速器,请使用27代理,是否进行切换”,不管他(信息框不要关闭),在OD—调试(D)--暂停(P)。再点OD—查看(V)--调用堆栈(K)。
调用堆栈: 主线程
地址 堆栈 函数过程 / 参数 调用来自 结构
0018F6FC 76E5CD46 user32.WaitMessage user32.76E5CD41 0018F734
0018F738 76E5CF5C user32.76E5CC3D user32.76E5CF57 0018F734
0018F764 76E8F73C user32.76E5CE93 user32.76E8F737 0018F760
0018F818 76E8FA18 user32.SoftModalMessageBox user32.76E8FA13 0018F814
0018F970 76E8FB1F user32.76E8F7AF user32.76E8FB1A 0018F96C
0018F9DC 76E8FD15 user32.MessageBoxTimeoutW user32.76E8FD10 0018F9D8
0018F9FC 76E8FD57 user32.MessageBoxExW user32.76E8FD52 0018F9F8
0018FA00 001A02B4 hOwner = 001A02B4 ('IP代理 2.82',c
0018FA04 0018FAA4 Text = "你的网络不能使用ip加速器,
0018FA08 00500F98 Title = "提示"
0018FA0C 00000041 Style = MB_OKCANCEL|MB_ICONASTERIS
0018FA10 00000000 LanguageID = 0 (LANG_NEUTRAL)
0018FA18 004AC23E <jmp.&user32.MessageBoxW> de_ipman.004AC239 0018FA14
0018FA1C 001A02B4 hOwner = 001A02B4 ('IP代理 2.82',c
0018FA20 0018FAA4 Text = "你的网络不能使用ip加速器,
0018FA24 00500F98 Title = "提示"
0018FA28 00000041 Style = MB_OKCANCEL|MB_ICONASTERIS
0018FA9C 00500D33 ? de_ipman.004AC0F0 de_ipman.00500D2E 0018FA98
0018FCB0 005022EF ? de_ipman.00500C8C de_ipman.005022EA
选中最下面的:调用堆栈: 主线程, 条目 18
地址=0018FCB0
堆栈=005022EF
函数过程 / 参数=? de_ipman.00500C8C
调用来自=de_ipman.005022EA,右键:显示调用
00502289 |. E8 4207FFFF call de_ipman.004F29D0
0050228E |. E9 CB050000 jmp de_ipman.0050285E
00502293 |> 803D 18785000>cmp byte ptr ds:[0x507818],0x0
0050229A |. 74 58 je short de_ipman.005022F4 ; 私有账号 跳转
0050229C |. C605 18785000>mov byte ptr ds:[0x507818],0x0
005022A3 |. 803D E0B25000>cmp byte ptr ds:[0x50B2E0],0x0
005022AA |. 74 3A je short de_ipman.005022E6 ; 1号试用账号 跳转
005022AC |. A1 58825000 mov eax,dword ptr ds:[0x508258]
005022B1 |. 8B40 0C mov eax,dword ptr ds:[eax+0xC]
005022B4 |. BA E4285000 mov edx,de_ipman.005028E4 ; ASCII "27net"
005022B9 |. E8 3E24F0FF call de_ipman.004046FC
005022BE |. 74 26 je short de_ipman.005022E6 ; 2号试用账号 跳转
005022C0 |. C605 E0B25000>mov byte ptr ds:[0x50B2E0],0x0
005022C7 |. BA F4285000 mov edx,de_ipman.005028F4
005022CC |. 8BC6 mov eax,esi
005022CE |. E8 E5D2FFFF call de_ipman.004FF5B8
005022D3 |. A1 907D5000 mov eax,dword ptr ds:[0x507D90]
005022D8 |. 8B00 mov eax,dword ptr ds:[eax]
005022DA |. 33D2 xor edx,edx
005022DC |. E8 2B25FFFF call de_ipman.004F480C
005022E1 |. E9 78050000 jmp de_ipman.0050285E
005022E6 |> 33D2 xor edx,edx
005022E8 |. 8BC6 mov eax,esi
005022EA |. E8 9DE9FFFF call de_ipman.00500C8C ; 这就是该调用啦
005022EF |. E9 6A050000 jmp de_ipman.0050285E
005022F4 |> 803D 28785000>cmp byte ptr ds:[0x507828],0x0
上面注释解释:
私有账号 跳转:如果你要使用私有账号,就要更改此处,把je改成jnz,或者nop掉。
X号试用账号 跳转:这是使用试用账号的,这里有两个je跳转时跳至一处的,需要同时把两个je都改为jnz或者都nop掉。
注意:上面说到了试用账号和私有账号的不同修改方案,只能改其中一种,不能2个都改,也就是说我无法做到破解后的一个文件能正常使用试用账号和私有账号,由于技术问题,请懂的指教一下
上面的操作可以按照自己需求选择其中一个,改好后,右键“复制到可执行文件”—“所以修改”,选“全部复制”。在弹出的窗口右键—保存文件,大功告成!
在此感谢ip加速器网址,能够提供一个这么好的服务。此举纯属学习,没有恶意,如有损害到网站利益,请及时提醒。
第一次发技术贴(给完全不懂的菜菜看),既为了交流,也希望能得到一个邀请,谢谢观看,高手莫笑,如有不足,还请指出。
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。