工具介绍
通过上一节,我想大家己认识了什么是壳的概念了,也是说运行加壳程序时, 用户执行的实际上是这个外壳的程序,而这个外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,只要执行起来没有变化就好。当时有些人担心这些解压缩的工作会给程序带来额外的运行时间,但实际上所有的可执行文件都要读到内存中去执行,文件小了,从计算机硬盘上读到内存的时间自然也少了,两下相抵,实际上用户并不会感觉程序慢了多少。脱壳的就是把在内存中真正还原的程序抓取下来,修正后变成可执行的文件。
在Windows 95/NT/2000 上的文件格式是Portable Executable File Format(即PE格式),该格式应用于所有基于Win32的系统。由于现在windows的普及,下面谈到的壳都是基于这种文件格式。
压缩工具介绍(PACKERS)
我们这里谈的压缩工具不是Winzip,WINRAR等工具(它们是可压缩任何文件),而是谈专门压缩windows下的 PE 格式EXE或DLL文件的工具,压缩的EXE文件是自解压可执行文件。
常用压缩工具(Windows Packers )列表:
名称
|
作者
|
主页
|
介绍
|
ASPack
|
Alexey Solodovnikov
|
是俄国作者Alexey Solodovnikov写的一个非常强大的Win32压缩工具,其压缩率、速度和兼容性很不错,是目前很流行的一种压缩工具。
| |
UPX | Markus Oberhumer & Laszlo Molnar | 非常全能的 EXE 压缩软件,并可用UPX -D命令脱壳。 | |
Petite | Ian Luck | 能压缩PE文件的code, data等资源。 | |
PE-PACK | ANAKiN | 一个自身体积小巧的压缩工具 | |
PKLITE32 | PKWARE, Inc. | 32-位压缩工具(DLL/EXE). | |
WWPack32 | Piotr Warezak and Rafal Wierzbicki | 32-位压缩工具(DLL/EXE). | |
NeoLite | 32-位压缩工具(DLL/EXE). | ||
Shrinker | Blink Inc | 32-位压缩工具(DLL/EXE). |
脱壳工具介绍(UNPACKERS)
一般某种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具, 一般的壳都可轻易脱去。
常用脱壳工具(Windows Unpackers)列表:
名称
|
作者
|
主页
|
介绍
|
ASPack unpacker | bane | 脱ASPack的压缩PE文件。 | |
UnPEPack | M.o.D. | 脱PEPack的壳 | |
ProcDump32 | 十分优秀的“万能”脱壳工具,可惜不升级了,因此只能自动脱些老版本压缩工具的壳,但可通过脚本命令使其升级。也是一款优秀的PE修改工具。 |
侦测文件类型工具
名称
|
介绍
| ||
FileInfo | 能检测多种文件格式,脱壳前用来判断是否加壳或何种壳,推荐使用! | ||
GetTyp | 功能同上 | ||
TYP | 功能同上 |
其他几种加密工具 (DLL/EXE)
pelock/morphine/PECompact/