脱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;
}

 

功能就是输出当前MAIN函数的地址,很简单,用AS加密。

这里是看雪上下的ASPACK

这里是原程序、dump的程序、修复后的程序

下面把做的过程说一下,很简单

1.用OD载入加壳过的程序,加载完以后是这样的

可以看到此时的ESP为12FFC4,用ESP定律,在12FFC0下一个读的硬件断点,然后F9运行,按两次F9,然后几次F8,就到了OEP了

2.DUMP内存镜像,使用的是LORDPE软件,打开LORDPE

在进程上点右键,然后完整转存,一般名字为dump.exe,保存好

3.修复IAT

打开IMPORTREC,填入OEP的偏移1CAF,点自动查找IAT,再点获取输入表,然后点修复转存文件,就OK了

路漫漫其修远兮啊~~~~还要继续加油

你可能感兴趣的:(asp)