安全中国首页 > 文章中心 > 逆向工程技术
 
软件破解教程-第8章第5节 脱壳高级篇6(图)
更新时间:2007-11-23 0:29:29
责任编辑:阿loosen
热 点:
第8章 压缩与脱壳

第五节 脱壳高级篇

 5、ASProtect保护

2、ASProtect v0.94b保护

英文原作:r!sc 《Almost Manual Unpacking (using Softice and Icedump)》
原作日期:6th febuary 2000
教程翻译: 看雪
翻译日期:2000年5月26日
声 明: 本文以r!sc的教程为基础,以自己的观点补充调整。

目标程序:aspack.exe . 231,424 . v 2.001 
程序下载:AsPack(http://www.pediy.com/tutorial/chap8/Exercise/chap8-5-5-2.zip)
使用工具:Softice 4.05; ProcDump 1.6.2 Final; FrogsICE v0.43;Icedump 6.016


part1 . 理论知识

part2 . 分析原文件的PE头 

part3 . 抓取import table

part4 . Dump整个程序并修正文件头


=part1===part1===part1===part1===part1===part1===part1===part1===part1===part1=
理论知识

这种被压缩或加密的PE文件,执行时,在内存中将会完全解压。其中import表在装载中也会被完全解压或解密(—攻击点)。其中抓取import表就很关键了,其具体位置,可用 Procdump分析文件头得到。然后,要跟踪程序完全解压后的跳到程序处的入口点,然后在内存里dump取程序的整个部分。将刚dump取的正确import表用十六进制工具粘贴到完全dump的程序,再 修正文件头,这样程序就可正常运行。


=part2===part2===part2===part2===part2===part2===part2===part2===part2===part2=
分析原文件的PE头

运行 Procdump,点击pe-editor按钮,选中ASPack.exe文件,我们想要得到程序解压后的尺寸,import表的地址和大小...幸运的是这个文件的每个块(section )都存在。

Size of image : 00079000 ; 这个PE文件执行时分配的内存空间。
Image Base : 00400000 ; 基址

.idata ;.idata包含其他外来DLL的函数及数据信息
Virtual Size : 00002000 ; idata在内存的尺寸
Virtual Offset : 00046000 ; idata的地址(+imagebase == 00446000)

.rdata
Virtual Size : 00001000
Virtual Offset : 00049000

import表有可能在idata块或rdata块,到底在哪部分?看看它们的尺寸,我将马压在.idata ...


=part3===part3===part3===part3===part3===part3===part3===part3===part3===part3=

1 2 3 下一页

 
相关文章
48小时热门文章
 
48小时热门软件
48小时热门动画