-
-
用Ollydbg手脱JDPack[铁甲] V1.01加壳的DLL
-
发表于:
2004-6-1 00:29
10262
-
用Ollydbg手脱JDPack[铁甲] V1.01加壳的DLL
【作者声明】:只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【调试环境】:WinXP、Ollydbg1.10、WinHex、LordPE、ImportREC
―――――――――――――――――――――――――――――――――
【脱壳过程】:
JDPack[铁甲] 算是弱壳了,已经很久没有升级了。用其加壳的DLL的重定位表没有加密,但是壳运行后会把重定位表的数据清零,我们要做的就是找到重定位表的地址,然后阻止壳把重定位数据清零!
―――――――――――――――――――――――――――――――――
一、阻止壳对重定位表清零+使用ESP定律到达OEP
003B7000 60 pushad//进入OD后停在这
003B7001 E8 00000000 call EdrLib.003B7006
003B7006 5D pop ebp
003B7007 8BD5 mov edx,ebp//ESP=0006F8CC
003B7009 81ED C62B4000 sub ebp,402BC6
003B700F 2B95 61344000 sub edx,dword ptr ss:[ebp+403461]
003B7015 81EA 06000000 sub edx,6
003B701B 8995 65344000 mov dword ptr ss:[ebp+403465],edx
003B7021 83BD 69344000 00 cmp dword ptr ss:[ebp+403469],0
003B7028 0F85 BC030000 jnz EdrLib.003B73EA
0006F8CC 01 00 00 00 FC F8 06 00 08 F9 06 00 EC F8 06 00 ................
003B702E C785 69344000 01000>mov dword ptr ss:[ebp+403469],1
003B7038 B9 88070000 mov ecx,788
003B703D 8DB5 182C4000 lea esi,dword ptr ss:[ebp+402C18]
003B7043 8A85 60344000 mov al,byte ptr ss:[ebp+403460]
003B7049 8A1E mov bl,byte ptr ds:[esi]
003B704B 32C3 xor al,bl
003B704D 8806 mov byte ptr ds:[esi],al
003B704F 889D 60344000 mov byte ptr ss:[ebp+403460],bl
003B7055 46 inc esi
003B7056 E2 EB loopd short EdrLib.003B7043//解码
003B7058 9C pushfd//F4到这,程序解码完毕
003B7059 58 pop eax
003B705A F6C4 01 test ah,1
003B705D 74 07 je short EdrLib.003B7066
sub ecx,8
shr ecx,1
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!