侦壳脱壳:用PEiD查壳,ASPack 2.12 -> Alexey Solodovnikov加壳。
使用法宝:我们既然知道了是ASPack所加壳保护的,所以拿出Ollydbg结合文章题目手动脱之~~
――――――――――――――――――――
Ollydbg载入主程序:
005FA001 > 60 pushad ; 载入程序后停在这里,F8一次
005FA002 E8 03000000 call MakeSign.005FA00A ; 到这里,这时查看寄存器窗口
005FA007 - E9 EB045D45 jmp 45BCA4F7
005FA00C 55 push ebp
005FA00D C3 retn
\\\\\\\\\\\\\\\寄存器\\\\\\\\\\\\\\\\
EAX 00000000
ECX 0012FFB0
EDX 7FFE0304
EBX 7FFDF000
ESP 0012FFA4 ; esp=0012ffa4
EBP 0012FFF0
ESI 77F57D70 ntdll.77F57D70
EDI 77F944A8 ntdll.77F944A8
EIP 005FA002 MakeSign.005FA002
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
根据ESP定律规则,现在在命令栏中下 hr 0012ffa4 命令,回车,F9运行:
005FA3B0 /75 08 jnz short MakeSign.005FA3BA ; 这里断下,F7继续
005FA3B2 |B8 01000000 mov eax,1
005FA3B7 |C2 0C00 retn 0C
005FA3BA \68 10CA5800 push MakeSign.0058CA10 ; 这里0058CA10所指的就是OEP,F7继续
005FA3BF C3 retn ; 返回到程序原始入口,飞向光明之颠~~ F7继续
返回到这里:
0058CA10 55 push ebp ; 在这儿用LordPE纠正ImageSize后完全DUMP这个进程
0058CA11 8BEC mov ebp,esp
0058CA13 83C4 F0 add esp,-10
0058CA16 B8 E0C55800 mov eax,MakeSign.0058C5E0
0058CA1B E8 64A2E7FF call MakeSign.00406C84
0058CA20 A1 A48B5900 mov eax,dword ptr ds:[598BA4]
0058CA25 8B00 mov eax,dword ptr ds:[eax]
0058CA27 E8 4427EEFF call MakeSign.0046F170
0058CA2C A1 A48B5900 mov eax,dword ptr ds:[598BA4]
0058CA31 8B00 mov eax,dword ptr ds:[eax]
0058CA33 BA 70CA5800 mov edx,MakeSign.0058CA70
0058CA38 E8 3F23EEFF call MakeSign.0046ED7C
0058CA3D 8B0D 90885900 mov ecx,dword ptr ds:[598890] ; MakeSign.005A5BE8
0058CA43 A1 A48B5900 mov eax,dword ptr ds:[598BA4]
0058CA48 8B00 mov eax,dword ptr ds:[eax]
脱壳修复:
运行ImportREC 1.6,选择这个进程,把OEP改为 0018CA10 ,点IT AutoSearch,指针全部有效。FixDump!
再用LordPE重建优化一下,程序大小变为 1.83 MB,Borland Delphi 6.0 - 7.0编译。
我始终没搞懂这意思(在这儿用LordPE纠正ImageSize后完全DUMP这个进程
)....请老大指教一下.我对工具的使用才刚开始..
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课