脱aspack的壳
自己写了一个win32控制台小程序,用ASPACK2.12加壳,然后用LORDPE和IMPORTREC脱壳。
win32小程序的源码如下:
#include <iostream.h>
#include <windows.h>
void main()
{
DWORD p;
_asm
{
call l1
l1:
pop eax
mov p,eax
}
cout<<hex<<p<<endl;
}
#include <windows.h>
void main()
{
DWORD p;
_asm
{
call l1
l1:
pop eax
mov p,eax
}
cout<<hex<<p<<endl;
}
功能就是输出当前MAIN函数的地址,很简单,用AS加密。
下面把做的过程说一下,很简单
1.用OD载入加壳过的程序,加载完以后是这样的
可以看到此时的ESP为12FFC4,用ESP定律,在12FFC0下一个读的硬件断点,然后F9运行,按两次F9,然后几次F8,就到了OEP了
2.DUMP内存镜像,使用的是LORDPE软件,打开LORDPE
在进程上点右键,然后完整转存,一般名字为dump.exe,保存好
3.修复IAT
打开IMPORTREC,填入OEP的偏移1CAF,点自动查找IAT,再点获取输入表,然后点修复转存文件,就OK了
路漫漫其修远兮啊~~~~还要继续加油