WEB开发网
开发学院网络安全黑客技术 对PECompact v1.34的手动脱壳 阅读

对PECompact v1.34的手动脱壳

 2006-07-03 20:26:02 来源:WEB开发网   
核心提示:使用工具:SoftICE 4.00; ProcDump 1.6.2; IceDump 6.0.1.5; HexWorkShop;(补充一句:以下Import table我称作输入表,可能说法不规范,对PECompact v1.34的手动脱壳,不过我打习惯了,大家原谅一下)(注:以下文中数字为十六进制)分析:运行Proc

使用工具:SoftICE 4.00; ProcDump 1.6.2; IceDump 6.0.1.5; HexWorkShop;

(补充一句:以下Import table我称作输入表,可能说法不规范,不过我打习惯了,大家原谅一下)

(注:以下文中数字为十六进制)

分析:

运行ProcDump,点击Pe-Editor按钮,选中PECompact.exe,得到程序内存映象大小:Size of Image为 00031000和基地址Image Base为0040000。然后点击Sections,没有发现.idata这样容易识别的输入表Section,

看来找输入表的地址和大小也将成为重点了。

首先我们来抓取Import table

1、先装载IceDump。到IceDump目录中运行相应SoftICE版本的icedump.exe。(比如我用的SoftICE版本为4.00就到win9x/400目录下运行icedump.exe)

2、运行SoftICE的Loader,加载PECompact.exe。

3、Ctrl-D进行SoftICE,如下设置断点

bpx loadlibrarya do "dd esp->4"

(注:在没有明确的输入表地址的情况下,这不失为找输入表地址的一种好办法)

4、按F5回到Windows中,单击Loader中的Load按钮。程序中断在第一条指令处。进入了SoftICE。

(看来PECompact.exe不象受Asprotect保护的程序那样。无法用SoftICE自动中断在第一条指令处)

5、按F5运行程序。又中断在我们设下的中断Loadlibrarya处。看看数据窗口。显示如下:

0030:004171AE 4E52454B 32334C45 4C4C442E 4C000000 KERNEL32.DLL...L
0030:004171BE 4C64616F 61726269 00417972 65470000 oadLibraryA...Ge
0030:004171CE 6F725074 64644163 73736572 56000000 tProcAddress...V
0030:004171DE 75747269 6C416C61 00636F6C 69560000 irtualAlloc...Vi
0030:004171EE 61757472 6572466C 00000065 74697845 rtualFree...Exit
0030:004171FE 636F7250 00737365 72460000 694C6565 Process...FreeLi
0030:0041720E 72617262 00000079 4D746547 6C75646F brary...GetModul
0030:0041721E 6E614865 41656C64 47000000 6F4D7465 eHandleA...GetMo
0030:0041722E 656C7564 656C6946 656D614E 9D8B0041 duleFileNameA...
0030:0041723E 004020A6 20AA9D3B 01750040 0CB58BC3 . @.;.. @.u.....

6、根据经验,一般第一次是脱壳代码自己的函数库的加载。并不是我们需要的输入表。因此,按F5继续执行程序。程序又一次中断,这一次数据窗口显示如下:

1 2  下一页

Tags:PECompact 手动 脱壳

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接