软件破解教程 〔风飘雪2009〕
第一课 软件壳和所用编程语言的识别
软件作者用编程语言编写好软件后,将它编译成扩展名为exe的可执行文件。
(1)有一些版权信息需要保护起来,不能让其他人随意改动,如作者的姓名、软件名称、版本号等等。
(2)需要给程序“减肥”,使exe文件变小,从而方便存储、使用和网上传输。
这样,就会用到一些软件,它们能将可执行文件压缩和对信息加密,实现上述两个功能,这些软件称为加壳软件。为软件加上的东东就称为壳。“壳”这一名词来源于动植物,如香香的花生豆外包裹的花生壳、保护小动物蜗牛软体而包裹的蜗牛壳、乌龟顶上(即王八盖子)的龟壳等,将新潮的IT行业与传统的手工作坊式的农业、畜牧行业有机地结合起来,发扬传统,继往开来,也属于“扬弃”吧!
而且,这种东西愈演愈烈,似乎已变成一种趋势,一发而不可收,逐渐地流行起来。如我们常用的搜索引擎google,就将其中文官方名字命名为“谷歌”,浓郁的乡土气息回荡在山谷,将农业与IT行业的结合发挥得淋漓尽致。令你不得不迎合并接受这种土洋结合的变味的、怪味的、让你说不出滋味的“酸酸乳”,一如超女张靓颖在歌坛中的地位和发展速度,从开始的不习惯到慢慢习惯而接受,见怪不怪,习以为常。
需要特别说明的是:加壳软件不同于一般的winzip、winrar等打包类压缩软件,它们是压缩可执行文件的,压缩后的文件可以直接运行。
最常见的加壳软件有3个:ASPACK(简称:小S,康熙来了当家花旦) 、UPX(小优)、PEcompact(小pp)。主流就是主流,用它们加壳的软件约占市面所有软件的80%,好高的市场占有率啊!其他常用的加壳软件,如ASPROTECT(大S,比较出名的难壳之一,小S的姐姐,很漂亮偶)、Armadillo等因为较难,留待以后介绍。 软件最常见的编程语言主要是Delphi、Visual Basic(简称VB)、Visual C++(简称VC)、。net。
破解的第一步就是侦测出软件的壳和软件所用的编程语言。具备这种“慧眼”的软件主要有以下几个:PEiD(重点掌握,要求必会)、FFI、ExeInfo PE、DiE、FastScanner(这几个一般性了解即可)。这类软件称为侦壳软件。侦壳软件就好比是医生的听诊器,破解必备且看病的第一步一定是用它。随着加壳软件的突飞猛进的发展,新壳不断涌现。这就逼迫着侦壳软件必须经常不断地更新,加入对新壳的识别,方能不落伍。慢慢地,PEiD由于功能最强、更新、最快而一统天下,成为侦壳软件的‘老大”。下面详细介绍一下侦壳软件的使用方法,希望大家能够熟练掌握,并利用它们,拨开壳的层层迷雾,揭开壳的神秘面纱。
这几个侦壳软件更新速度快,侦测准确度高,故最受欢迎。为方便使用,侦壳软件最好应具备集成到鼠标右键菜单的功能。同时,作为一个好的侦壳软件,应具备可以自行添加签名、支持插件、不断更新软件和数据库、支持拖放等要素。 一、 PEiD
PEiD(全称为PE iDentifier) 是具有 GUI界面,可以方便地检测出软件到底是使用什么工具加的壳,给脱壳、汉化、解密带来了极大的便利。目前这个软件可以检测出 470 种壳,识别率极高。界面直观而简洁,支持多文件扫描和对整个目录进行扫描,支持拖放功能。经测试验证,是目前各类查壳工具中性能最强的。另外,若软件无壳,则在信息栏显示文件是用什么语言编写的,比如:VC++、Delphi、VB等。PEiD还能够侦测出几乎所有被打包、掩藏和编译的PE文件。软件主页为http://peid.info。软件界面如图1.16所示:
图1.16 PEiD汉化版界面
首先点击“选项”按钮进行配置。扫描方法推荐选择“核心扫描”;把“添加到鼠标右键”打上对号,如图1.17。
图1.17 配置PEiD
以后选择好目标文件后,点鼠标右键,选中“用PEiD扫描”,然后就会显示出壳的信息,如图1.18(以ex204为例):
图1.18 侦壳结果
信息栏显示的就是目标程序的壳。信息栏显示“ASProtect 1.2 / 1.2c-> Alexey Solodovnikov”说明是ASProtect 1.2版或1.2c版的壳。->后为开发者或公司。
PEiD支持对整个目录进行侦壳,如图1.19:
图1.19 用PEiD对整个目录进行侦壳
当软件无壳时,PEiD信息栏会显示软件的编程语言,如图1.20:
图1.20 软件无壳时的PEiD界面
当出现图1.21的情况时,说明什么问题?
图1.21程序有壳但PEiD不能识别
说明:出现这种情况,程序一定是有壳的,只是壳的信息不在PEiD的数据库中,或者是新出的壳,因此,为新壳或未知壳。PEiD壳的数据库文件为userdb.txt。外部签名文件为external.txt,由图1.17 的PEiD配置可以设定是否启用。 插件:点击右下角的->按钮,即可启动插件。插件一般为dll(这3个字母必须为小写),存放在plugins子目录下。
插件的下载网站为http://peid.info/和http://www.peid.info/BobSoft/。
PEiD实用插件及功能 表1-1 插件名称 VerA
Add Signature Generic Finder
OEP
功能
精确检测ASProtect软件的详细版本号 增加新壳的签名,扩充用户数据库 通用入口点寻找
来源于著名的密码学工具软件kanal,侦测软件所采用的密码学算法
通用的自动脱壳工具(第2章中详解)
Krypto ANALyzer PEiD generic Unpacker
Add Signature插件比较实用。以一个不常用名称为“12311134 ”的壳为例。这个壳原本旧版PEiD是不认识的,侦测时会显示图1.21的情况。点选Add Signature插件,弹出图1.22所示窗口。
图1.22 Add Signature插件主界面
点“Scan EP for Sig”按钮,插件会捕捉64位特征码存入userdb.txt。File Type行填入12311134 ->Xiao,命名壳的名称和作者,如图1.23。点击“Save to UseDB”,新壳信息即存入userdb.txt文件的末尾。
图1.23 添加壳的签名
再次用PEiD侦测目标文件,发现成功了,结果如图1.24所示。
图1.24 新壳已被PEiD识别