Total Pageviews

Wednesday, 7 December 2011

学习脱壳

一、什么是壳
作者编好软件后,编译成exe可执行文件
  1. 有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等
  2. 需要把程序搞的小一点,从而方便使用,于是,需要用到一些软件,他们能将exe可执行文件压缩
实现上述两个功能,这些软件称为加壳软件或压缩软件。它不同于一般的winzip,winrar等压缩软件。它是压缩exe可执行文件的,压缩后的文件可以直接运行。


二、测壳软件

    FileInfo (http://www.box.com/s/v8kmh2fsf0f2ss58popp)
    待侦测壳的软件(如aa.exe)和fileInfo.exe位于同一目录下,将aa的图标拖到fi的图标上
    language2000 (http://www.box.com/s/0q1lxy229cdlxjl90l4b)
    傻瓜式软件,运行后选取待侦测壳的软件即可(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修改工具。

No comments:

Post a Comment