尝试脱DiE v0.62圣诞版外壳时遇到了问题。
利用DiE扫描后得到如下信息:
DiE:PECompact 2.x
PEiE:PECompact 2.0x Heuristic Mode -> Jeremy Collake
脱壳过程
OllyDBG加载后停在了这里:
00401000 > B8 FCB95200 MOV EAX,DiE.0052B9FC
00401005 50 PUSH EAX
00401006 64:FF35 0000000>PUSH DWORD PTR FS:[0]
0040100D 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00401014 33C0 XOR EAX,EAX
00401016 8908 MOV DWORD PTR DS:[EAX],ECX
感觉就是 PECompact 2.x 外壳。
0052BAB4 FF11 CALL DWORD PTR DS:[ECX]
0052BAB6 8BC6 MOV EAX,ESI
0052BAB8 5A POP EDX
0052BAB9 5E POP ESI
0052BABA 5F POP EDI
0052BABB 59 POP ECX
0052BABC 5B POP EBX
0052BABD 5D POP EBP
0052BABE - FFE0 JMP EAX ; DiE.004E0980
跨段跳转,关键跳转?
004E0980 55 PUSH EBP ; 似乎是入口点?
004E0981 8BEC MOV EBP,ESP
004E0983 83C4 F0 ADD ESP,-10
004E0986 B8 E8064E00 MOV EAX,DiE.004E06E8
004E098B E8 A45FF2FF CALL DiE.00406934
004E0990 E8 EFFCFFFF CALL DiE.004E0684
004E0995 84C0 TEST AL,AL
004E0997 74 1F JE SHORT DiE.004E09B8
004E0999 68 000A4E00 PUSH DiE.004E0A00 ; ASCII "DiE 0.60"
004E099E 68 0C0A4E00 PUSH DiE.004E0A0C ; ASCII "TApplication"
004E09A3 E8 8869F2FF CALL DiE.00407330 ; JMP 到 user32.FindWindowA
用入口点修正为 E0980 Dump?用这个地址DUMP出进行输入表修复,但是仍然无法运行。请指正!
[课程]Linux pwn 探索篇!