WEB开发网
开发学院网络安全黑客技术 手动脱壳之ASPack v1.083 阅读

手动脱壳之ASPack v1.083

 2007-01-13 20:14:24 来源:WEB开发网   
核心提示:4、ASPack v1.083 压缩文件: 下载 ,如 用TRW2000调试,手动脱壳之ASPack v1.083,装载后,下命令:pnewsec就可中断到入口点,按F5回到windows下,运行 Procdump,为了提高跟踪水平,下面以SOFTICE为例

4、ASPack v1.083

压缩文件: 下载 。

如 用TRW2000调试,装载后,下命令:pnewsec就可中断到入口点。为了提高跟踪水平,下面以SOFTICE为例,讲述跟踪过程。

_________________________________________________________________________

寻找程序的入口点( Entry Point)

用Symbol Loader打开Notepad-ASPACK.exe,点击Symbol loader的第二个图标("Load the currently open module")

如SOFTICE 装载成功,它应中断在起始程序入口处。

当跟踪时,你会经过许多条件跳转指令及循环指令,要用点技巧跳出这些圈子,其形式一般这样:

*************************************

aaaaaaaa

...

wwwwwwww

xxxxxxxx JNZ zzzzzzzz <-- 循环返回到aaaaaaaa

yyyyyyyy JMP aaaaaaaa

zzzzzzzz 新的指令

如果你跟踪时,你将跳转到 aaaaaaa处多次,你可将光标移到 zzzzzzzz一行,按F7让指令直接跳到此处,可省不少时间。

*************************************

在跟踪过程会来到:

167:0040D558 POPAD
0167:0040D559 JNZ 0040D563 (JUMP)
0167:0040D55B MOV EAX,00000001
0167:0040D560 RET 000C
0167:0040D563 PUSH EAX<--EAX的值就是入口点的值=4010CC
0167:0040D564 RET <--返回到记事本的真正的入口点

*************************************

0167:004010CC PUSH EBP <--真正的入口点
0167:004010CD MOV EBP,ESP
0167:004010CF SUB ESP,00000044
0167:004010D2 PUSH ESI

经过0167:0040D564 RET 一行,程序将来到0167:004010CC刚完全解压的真正程序第一条指令处。

*************************************

当我们跟踪时发现POPAD或POPFD,就要提高警惕,一般入口点就在附近了,在此程序的原始入口点是004010CC

在0167:0040D564 RET一行键入:

a eip (然后按回车)

jmp eip (然后按回车)

F5

这个方法是让程序挂起,按F5回到windows下。

运行 Procdump,在Task的列表中的第一个list上点击鼠标右键,然后选择"Refresh

list". 在Task列表中找到notepad.exe,在它的上面点击鼠标右键.

然后,选中"Dump (Full)",给脱壳的程序起名存盘.

再在notepad.exe上点击鼠标右键,然后选中"Kill Task".

_________________________________________________________________________

修正入口点

脱壳的notepad.exe程序入口是004010CC.

再次使用ProcDump的PE Editor功能, 打开已脱壳的notepad.exe.

修正入口点值=4010CC-00400000(基址)=10CC

点击"OK".

现在, 运行脱壳后的notepad.exe吧,它应该正常运行了。

Tags:手动 脱壳 ASPack

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