QQ棋牌游戏伴侣3.0.3脱壳并修复去自校验、去广告教程~
用PEID查壳为ASPack 2.12 -> Alexey Solodovnikov一、脱壳:
设置OD忽略所有异常选项,OD自动隐藏插件帮你隐藏OD.
OD载入程序。
00AF2001 > 60 PUSHAD //OD载入后。停在这外壳入口
00AF2002E8 03000000 CALL QQ棋牌游.00AF200A //F8到这。这里向右看寄存器窗口ESP变红,esp定律 HR 12FFA4 回车 F9运行
00AF2007 - E9 EB045D45 JMP 460C24F7
00AF200C55 PUSH EBP
00AF200DC3 RETN
00AF200EE8 01000000 CALL QQ棋牌游.00AF2014
00AF2013EB 5D JMP SHORT QQ棋牌游.00AF2072
00AF2015BB EDFFFFFF MOV EBX,-13
00AF201A03DD ADD EBX,EBP
00AF201C81EB 00206F00SUB EBX,QQ棋牌游.006F2000
00AF202283BD 22040000 0>CMP DWORD PTR SS:,0
00AF2029899D 22040000MOV DWORD PTR SS:,EBX
00AF202F0F85 65030000JNZ QQ棋牌游.00AF239A
F9之后来到这里
00AF23B0/75 08 JNZ SHORT QQ棋牌游.00AF23BA
00AF23B2|B8 01000000 MOV EAX,1
00AF23B7|C2 0C00 RETN 0C
00AF23BA\68 EC7B4F00 PUSH QQ棋牌游.004F7BEC
00AF23BFC3 RETN
F8三次后飞向光明之嵿~~~~~(OEP入口)
004F7BEC55 PUSH EBP
004F7BED8BEC MOV EBP,ESP
004F7BEFB9 04000000 MOV ECX,4
004F7BF46A 00 PUSH 0
004F7BF66A 00 PUSH 0
004F7BF849 DEC ECX
004F7BF9 ^ 75 F9 JNZ SHORT QQ棋牌游.004F7BF4
用OD插件OllyDump进行脱壳,并且记下OEP为F7BEC
脱壳后要用ImoprtREC1.6最终修正版进行修复!
OPE填:F7BEC
自动查找IAT 然后 获取输入表 最后 修复转存文件 选择刚刚脱壳后的文件进行修复
到这里已经脱壳完成,但是我们发现运行脱壳后的文会自动关闭!
二、修正自校验
关闭OD,重新载入刚刚脱壳修复后的文件下bp CreateFileA 断点F9运行来到这里!
7C801A38 > 8BFF MOV EDI,EDI
7C801A3A55 PUSH EBP
7C801A3B8BEC MOV EBP,ESP
7C801A3DFF75 08 PUSH DWORD PTR SS:
7C801A40E8 1FA60200 CALL kernel32.7C82C064
7C801A4585C0 TEST EAX,EAX
7C801A4774 1E JE SHORT kernel32.7C801A67
7C801A49FF75 20 PUSH DWORD PTR SS:
7C801A4CFF75 1C PUSH DWORD PTR SS:
7C801A4FFF75 18 PUSH DWORD PTR SS:
7C801A52FF75 14 PUSH DWORD PTR SS:
7C801A55FF75 10 PUSH DWORD PTR SS:
7C801A58FF75 0C PUSH DWORD PTR SS:
7C801A5BFF70 04 PUSH DWORD PTR DS:
7C801A5EE8 E8A70200 CALL kernel32.CreateFileW
7C801A635D POP EBP
7C801A64C2 1C00 RETN 1C
一路F8我们来到这里
00492095. /75 12 JNZ SHORT dumped_.004920A9;//这里的JNZ我们把它NOP
00492097. |B8 E0930400MOV EAX,493E0
0049209C. |E8 6B12F7FFCALL dumped_.0040330C
004920A1. |C1E0 02 SHL EAX,2
004920A4. |8945 F0 MOV DWORD PTR SS:,EAX
004920A7. |EB 11 JMP SHORT dumped_.004920BA
004920A9> \B8 E0930400MOV EAX,493E0
004920AE. E8 5912F7FFCALL dumped_.0040330C
004920B3. C1E0 02 SHL EAX,2
004920B6. 40 INC EAX
004920B7. 8945 F0 MOV DWORD PTR SS:,EAX
004920BA> 33C0 XOR EAX,EAX
我把00492095的JNZ改为NOP后保存程序现在可以运行了,现在我们来去广告!
三、去广告
脱壳后,我们OD载入下bp OpenProcessToken断点后F9运行
77F40F1E > 8BFF MOV EDI,EDI //我们断在这里;
77F40F2055 PUSH EBP
77F40F218BEC MOV EBP,ESP
77F40F23FF75 10 PUSH DWORD PTR SS:
77F40F26FF75 0C PUSH DWORD PTR SS:
77F40F29FF75 08 PUSH DWORD PTR SS:
这时的堆栈显示为:
0012EFE44B2132DF /CALL 到 OpenProcessToken 来自 4B2132D9
0012EFE8FFFFFFFF |hProcess = FFFFFFFF
0012EFEC00000008 |DesiredAccess = TOKEN_QUERY
0012EFF00012F000 \phToken = 0012F000
按F9,注意堆栈,到这里时
0012FDAC004DB9BD /CALL 到 OpenProcessToken 来自 已脱壳.004DB9B8
0012FDB0FFFFFFFF |hProcess = FFFFFFFF
0012FDB400000028 |DesiredAccess = TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES
0012FDB80012FDE8 \phToken = 0012FDE8
我们双击004DB9BD后跟随到这里
004DB9BD. 33C0 XOR EAX,EAX
004DB9BF. 5A POP EDX
004DB9C0. 59 POP ECX
004DB9C1. 59 POP ECX
004DB9C2. 64:8910 MOV DWORD PTR FS:,EDX
004DB9C5. EB 0A JMP SHORT 已脱壳.004DB9D1
我们向下走看到这里是广告,我把它们NOP了~~~~
004DBBE2. /75 13 JNZ SHORT 已脱壳.004DBBF7
004DBBE4. |8B45 FC MOV EAX,DWORD PTR SS:
004DBBE7. |8B80 0C040000 MOV EAX,DWORD PTR DS:
004DBBED. |BA 34BE4D00MOV EDX,已脱壳.004DBE34 ; UNICODE "http://update.itcount.com/bar.asp"
004DBBF2. |E8 8D40FAFFCALL 已脱壳.0047FC84
还有这里是自动升级,我们也NOP了~~~
004DBABE> \8B45 FC MOV EAX,DWORD PTR SS:
004DBAC1. 8B88 F8020000 MOV ECX,DWORD PTR DS:
004DBAC7. B2 01 MOV DL,1
004DBAC9. A1 74094F00MOV EAX,DWORD PTR DS:
004DBACE. E8 91C0F7FFCALL 已脱壳.00457B64
004DBAD3. 8BD8 MOV EBX,EAX
004DBAD5. 8B45 FC MOV EAX,DWORD PTR SS:
004DBAD8. 8998 14040000 MOV DWORD PTR DS:,EBX
004DBADE. 8B45 FC MOV EAX,DWORD PTR SS:
004DBAE1. 8B90 00030000 MOV EDX,DWORD PTR DS:
004DBAE7. 8BC3 MOV EAX,EBX
004DBAE9. 8B08 MOV ECX,DWORD PTR DS:
004DBAEB. FF51 68 CALL DWORD PTR DS:
004DBAEE. 8B45 FC MOV EAX,DWORD PTR SS:
004DBAF1. 8B80 14040000 MOV EAX,DWORD PTR DS:
004DBAF7. E8 F0510100CALL 已脱壳.004F0CEC
好,我们保存,完工~~~
crack by feiye~
QQ:17498016
欢迎交流! 不错~~很详细,去试试看啦
Re:QQ棋牌游戏伴侣3.0.3脱壳去广告教程~
最近论坛好慢呀~~~唉~~发点东西都这么慢~~发不上去! 00AF2007 - E9 EB045D45JMP 460C24F7jmp的机器码是E9吗?
呵呵! 这篇文章很好!脱壳去校验去广告,学习bp OpenProcessToken~ 恩 ..不错....喜欢..... 不错的教程 不过,适合我们新手学习