下载地址:https://files.cnblogs.com/tk091/crackme6.7z
先用peid检测,为ASPack 2.x (without poly) -> Alexey Solodovnikov [Overlay]壳。
用od载入
1 00405000 60 pushad 2 00405001 > E8 03000000 call crackme6.00405009 3 00405006 - E9 EB045D45 jmp 459D54F6 4 0040500B 55 push ebp
默认运行到第二行,利用查找popad,找到第四个popad
1 004053A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax 2 004053AF 61 popad 3 004053B0 75 08 jnz short crackme6.004053BA 4 004053B2 B8 01000000 mov eax,1 5 004053B7 C2 0C00 retn 0C 6 004053BA 68 00000000 push 0 7 004053BF C3 retn
F4运行到此处,程序代码变为
1 004053AF 61 popad 2 004053B0 75 08 jnz short crackme6.004053BA 3 004053B2 B8 01000000 mov eax,1 4 004053B7 C2 0C00 retn 0C 5 004053BA 68 CB114000 push crackme6.004011CB 6 004053BF C3 retn
直接就到oep了,脱壳即可。
脱壳后检测,为
LCC Win32 1.x -> Jacob Navia
这个是LCC编译器编译的。
也可以用esp定律,很简单的就到达oep,首先用od载入,此时esp值为
0012FFC4
输入hr 0012FFC4
运行,删除硬件断点,到达
1 004053B0 /75 08 jnz short crackme6.004053BA 2 004053B2 |B8 01000000 mov eax,1 3 004053B7 |C2 0C00 retn 0C 4 004053BA \68 CB114000 push crackme6.004011CB 5 004053BF C3 retn
这样也直接到达oep,然后删除模块分析,就可以脱壳了。