学习脱壳

一、什么是壳

作者编好软件后,编译成exe可执行文件

  1. 有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等
  2. 需要把程序搞的小一点,从而方便使用,于是,需要用到一些软件,他们能将exe可执行文件压缩

实现上述两个功能,这些软件称为加壳软件或压缩软件。它不同于一般的winzip,winrar等压缩软件。它是压缩exe可执行文件的,压缩后的文件可以直接运行。

二、测壳软件

  • FileInfo
    待侦测壳的软件(如aa.exe)和fileInfo.exe位于同一目录下,将aa的图标拖到fi的图标上
  • language2000
    傻瓜式软件,运行后选取待侦测壳的软件即可(open)

三、什么是脱壳

运行加壳程序时, 用户执行的实际上是这个外壳的程序,而这个外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,只要执行起来没有变化就好。当时有些人担心这些解压缩的工作会给程序带来额外的运行时间,但实际上所有的可执行文件都要读到内存中去执行,文件小了,从计算机硬盘上读到内存的时间自然也少了,两下相抵,实际上用户并不会感觉程序慢了多少。脱壳的就是把在内存中真正还原的程序抓取下来,修正后变成可执行的文件。

四、压缩工具

在Windows 95/NT/2000 上的文件格式是Portable Executable File Format(即PE格式),该格式应用于所有基于Win32的系统。由于现在windows的普及,下面谈到的壳都是基于这种文件格式。我们这里谈的压缩工具不是Winzip,WINRAR等工具(它们是可压缩任何文件),而是谈专门压缩windows下的 PE 格式EXE或DLL文件的工具,压缩的EXE文件是自解压可执行文件。

名称 作者 介绍
ASPack Alexey Solodovnikov 是俄国作者Alexey Solodovnikov写的一个非常强大的Win32压缩工具,其压缩率、速度和兼容性很不错,是目前很流行的一种压缩工具。
UPX Markus Oberhumer & Laszlo Molnar 非常全能的
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).

五、脱壳工具

一般某种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具, 一般的壳都可轻易脱去。

名称 作者 介绍
ASPack unpacker bane 脱ASPack的压缩PE文件。
UnPEPack M.o.D. 脱PEPack的壳
ProcDump32 十分优秀的“万能”脱壳工具,可惜不升级了,因此只能自动脱些老版本压缩工具的壳,但可通过脚本命令使其升级。也是一款优秀的PE修改工具。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注