手动脱PECompact 1.68 - 1.84 -> Jeremy Collake的壳
【破文标题】手动脱PECompact 1.68 - 1.84 -> Jeremy Collake的壳【破文作者】老怪物MOYER
【作者邮箱】[email protected]
【作者主页】
【破解工具】PEiD,OD
【破解平台】Windows 2K&XP
【软件名称】
【软件大小】
【原版下载】
【保护方式】PECompact 1.68 - 1.84 -> Jeremy Collake
【软件简介】
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
------------------------------------------------------------------------
用PEID查壳 PECompact 1.68 - 1.84 -> Jeremy Collake
OD载入,异常全部打钩。
到这里
00404C00 > /EB 06 JMP SHORT ex3.00404C08//跳
00404C02 |68 00100000 PUSH 1000
00404C07 |C3 RETN
00404C08 \9C PUSHFD
00404C09 60 PUSHAD
00404C0A E8 02000000 CALL ex3.00404C11 //F7过,F8会运行
00404C0F 33C0 XOR EAX,EAX
00404C11 8BC4 MOV EAX,ESP
。。。。一路的F8,到这里
004062AE 5E POP ESI
004062AF 5F POP EDI
004062B0^ EB 9B JMP SHORT ex3.0040624D //这里我们跳上去。
004062B2 B9 E8000000 MOV ECX,0E8
004062B7 005D 81 ADD BYTE PTR SS:,BL
。。。。。。
到了这里
0040624D 57 PUSH EDI
0040624E AD LODS DWORD PTR DS:
0040624F 85C0 TEST EAX,EAX
00406251 0F84 9B000000 JE ex3.004062F2 //在这里ENTER,跟过去
00406257 8BD0 MOV EDX,EAX
00406259 0395 E6904000 ADD EDX,DWORD PTR SS:
0040625F AD LODS DWORD PTR DS:
。。。。。。
到这里
004062F1 24 5F AND AL,5F //F4,运行到所选
004062F3 8BB5 E2904000 MOV ESI,DWORD PTR SS: ; ex3.004090E8
004062F9 AD LODS DWORD PTR DS:
004062FA 83F8 FF CMP EAX,-1
004062FD /74 74 JE SHORT ex3.00406373 //这里ENTER,跟进
004062FF |0385 E6904000 ADD EAX,DWORD PTR SS:
00406305 |8BD8 MOV EBX,EAX
。。。。。
到这里
00406373 68 00400000 PUSH 4000 //停在这里了,F4运行到所选
00406378 6A 00 PUSH 0
0040637A 57 PUSH EDI
0040637B FF95 45974000 CALL DWORD PTR SS:
00406381 8BBD 3C964000 MOV EDI,DWORD PTR SS:
00406387 03BD E6904000 ADD EDI,DWORD PTR SS:
0040638D 8B8D 40964000 MOV ECX,DWORD PTR SS:
00406393 51 PUSH ECX
00406394 57 PUSH EDI
一路的F8到这里
0040639D 03DE ADD EBX,ESI
0040639F 49 DEC ECX
004063A0 74 72 JE SHORT ex3.00406414 //ENTER,跟进
004063A2 78 70 JS SHORT ex3.00406414
004063A4 66:8B07 MOV AX,WORD PTR DS:
004063A7 2C E8 SUB AL,0E8
到这里
00406414 5F POP EDI //F4,运行到所选
00406415 59 POP ECX
00406416 33C0 XOR EAX,EAX
00406418 85C9 TEST ECX,ECX
0040641A 74 3B JE SHORT ex3.00406457
0040641C 8BF7 MOV ESI,EDI
。。。。一路F8到这里
00406435 83D3 01 ADC EBX,1
00406438 33C3 XOR EAX,EBX
0040643A 83C6 04 ADD ESI,4
0040643D 83E9 04 SUB ECX,4
00406440 74 15 JE SHORT ex3.00406457 //ENTER跟进
00406442 83F9 04 CMP ECX,4
00406445^ 73 E8 JNB SHORT ex3.0040642F
00406447 BA 04000000 MOV EDX,4
0040644C 2BD1 SUB EDX,ECX
0040644E 2BF2 SUB ESI,EDX
00406450 B9 04000000 MOV ECX,4
00406455^ EB D8 JMP SHORT ex3.0040642F
00406457 3B85 67974000 CMP EAX,DWORD PTR SS://到这里啦,F4运行到所选
0040645D 74 4D JE SHORT ex3.004064AC //这里我们跳走
0040645F^ E9 4FFEFFFF JMP ex3.004062B3
。。。。。。
一路的F8,到达这里
00406523 80BD 6B9F4000 C>CMP BYTE PTR SS:,0C3//接着F8,呵呵。。。
0040652A 74 22 JE SHORT ex3.0040654E //跳走
0040652C 8D95 6BA14000 LEA EDX,DWORD PTR SS:
00406532 6A 40 PUSH 40
00406534 52 PUSH EDX
00406535 FFB5 3D974000 PUSH DWORD PTR SS:
0040653B FFB5 39974000 PUSH DWORD PTR SS:
00406541 E8 F40A0000 CALL ex3.0040703A
00406546 85C0 TEST EAX,EAX
00406548^ 0F85 9DFDFFFF JNZ ex3.004062EB
0040654E 61 POPAD //到这里啦,看到个了吧,就要解压完毕啦
0040654F 9D POPFD // 还是F8
00406550 50 PUSH EAX
00406551 68 00104000 PUSH ex3.00401000
00406556 C2 0400 RETN 4 //F8,就到OEP啦,然后就DUMP吧。
不用修复,呵呵。。。。
------------------------------------------------------------------------
这个壳和一般的压缩壳不太一样,有很多不能实现的跳,不是什么都向下F4,我只是练练手,给大家做个
参考吧。这个壳用ESP定律很简单,用字节方式跟踪入口点也行的。(我是菜鸟,我怕谁~!)呵呵。。。
------------------------------------------------------------------------
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
[ 本帖最后由 moyer 于 2006-6-22 01:39 编辑 ] 学习学习,谢谢指导 汗 很难啊!
页:
[1]