软件破解教程

软件破解教程

为了系统的学习和掌握软件破解的基础知识,本人根据网络上找到的材料整理汇编了此教程以供爱好者。在此对原创者深表感谢!

第一课十大破解软件的工具

一. 反汇编工具wdasm8.93黄金版和hiew

cracker常将soft-ice和trw2000比作屠龙刀,将wdasm8.93则比作倚天剑。wdasm8.93可方便地反汇编程序,它能静态分析程序流程,也可动态分析程序。在原有的普通版的基础上,一些破解者又开发出了wdasm8.93黄金版,加强了对中文字符串的提取。对国产共享软件的威胁也就更大了。例如开心斗地主这个很好玩的共享软件,用黄金版对其反汇编可以直接看到注册码,普通版不能,您说它厉害不?hiew 是一个十六进制工具,它除了普通十六进制的功能外,它还有个特色,能反汇编文件,并可以用汇编指令修改程序,用它修改程序,方便快捷!这也是cracker们常用的静态反汇编工具。

二. 调试类工具soft-ice和trw2000。

soft-ice是目前公认最好的跟踪调试工具。使用soft-ice可以很容易的跟踪一个软件、或是监视软件产生的错误进行除错,它有dos、window3.1、win95/98/nt/2000/各个平台上的版本。这个本是用来对软件进行调试、跟踪、除错的工具,在cracker手中变成了最恐怖的破

解工具;trw2000是中国人自己编写的调试软件,完全兼容soft-ice各条指令,由于现在许多软件能检测soft-ice存在,而对trw2000的检测就差了许多,因此目前它成了很多cracker的最爱。trw2000专门针对软件破解进行了优化,在windows下跟踪调试程序,跟踪功能更强;可以设置各种断点,并且断点种类更多;它可以象一些脱壳工具一样完成对加密外壳的去除,自动生成exe文件,因此它的破解能力更强,在破解者手中对共享软件的发展威胁更大。它还有在dos下的版本,名为tr。

三. visual basic程序调试工具smartcheck。

这是专门针对visual basic程序的调试程序,由于vb程序执行时从本质上讲是解释执行,它们只是调用vbrunxxx.dll 中的函数,因此vb 的可执行文件是伪代码,程序都在vbxxx.dll 里面执行。若用soft-ice跟踪调试只能在vbdll里面用打转转,看不到有利用价值的东西,而且代码质量不高,结构还很复杂。当然只要了解其特点用soft-ice 也可破解,但smartcheck的出现,大大方便了cracker。smartcheck 是numega 公司出口的一款出色的调试解释执行程序的工具,目前最新版是v6.03。它非常容易使用,你甚至于不需要懂得汇编语言都能轻易驾驭它。它可将vb程序执行的操作完全记录下来,使破解者轻而易举的破解大部分vb程序。

四. 十六进制编辑器ultraedit。

十六进制编辑器可以用十六进制方式编辑文件,修改文件的内容。虽然hiew就是一款是十六进制工具,但它是dos界面,因此很多破

解者又准备了一款windows下的工具,这样的工具很多,如:ultraedit、winhex、hex workshop 等,其中ultraedit比较有特色,操作方便,更有汉化版可用,它是非常出色的十六进制编辑器,建议您也找一个用用。

五. 注册表监视工具

主要有regshot、regmon或regsnap等。在微软操作系统中,众多的设置都存放在注册表中,注册表是windows的核心数据库,表中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的正常运行。在应用软件安装时,有可能将一些必要的信息放进去,如安装时间、使用次数、注册码等。regshot、regmon或regsnap就是监视注册表变化的工具,通过它可以了解、监视应用程序在注册表中的动作,破解者常利用它们来监视应用程序在注册表中的变化。

六. 文件监视工具filemon。

可监视系统中指定文件运行状况,如指定文件打开了哪个文件,关闭了哪个文件,对哪个文件进行了数据读取等。通过它,任何您指定监控的文件有任何读、写、打开其它文件的操作都能被它监视下来,并提供完整的报告信息。破解者经常利用filemon监控文件系统,以便了解程序在启动、关闭或验证注册码时做了哪些手脚,并由此进行相应的解密。

七. 脱壳工具procdump。

现在许多软件都加了壳,“壳”是一段专门负责保护软件不被非法

修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。经过加壳的软件在跟踪时已无法看到其真实的十六进制代码,因此可以起到保护软件的目的。procdump就是个对付软件加壳的脱壳工具,它可剥去许多种壳,还文件本来面目,这样再修改文件内容就容易多了。由于它还允许使用者自己编写脚本文件,因此利用它能脱去新版加壳软件的壳。它同时还是一款优秀的pe格式修改工具,是脱壳必备工具!

八. 侦测文件类型工具

这样的工具有typ、gtw、fileinfo和冲击波2000等。它们被用来侦测软件被加壳类型,其中冲击波2000能轻易的找到任何加密壳的入口点,包括asprotect以及幻影的加密壳都可以。这类软件一般是配合procdump和调试软件使用的,用它们找到程序加壳类型,用procdump或soft-ice、trw2000脱壳。

九. 资源修改器exescope。

exescope是一个可以修改软件资源的工具,功能强大。exescope 能在没有资源文件的情况下分析、显示不同的信息,重写可执行文件的资源,包括(exe,dll,ocx)等。它可以直接修改用vc++ 及delphi 编制的程序的资源,包括菜单、对话框、字串表等,是汉化软件的常用工具。在破解者手中,它常被用来修改文件资源中的菜单、对话框、字串表等,用以显示破解者需要的信息(例如更改版权信息等),以此达到修改软件的目的。

十. api调用查询工具api spy。

顾名思义,这个程序是用来侦测软件都调用了哪些api。api就是windows程序执行时所呼叫的函数,跟dos下的int(中断)差不多,windows 提供了很多这样的函数让程序设计者套用,主要目的是为了节省软件开发的时间,方便大家开发软件。api spy就是这样一个监控api调用的软件,它可以查看应用程序调用了哪些api,从而得出对破解者有用的api调用信息,通过这些api调用来设定断点,达到破解软件的目的。它可以工作在windows95/98/nt/2000平台下。

好了,共享软件的十大杀手为您介绍完了,以上提到的软件都是“正当”软件,只是在不同的使用者手中发挥了不同的用途。就犹如一把枪,在人民军队手中就是保家卫国的武器,在为非作歹的坏人手中就是一把凶器了,千万不能因此就对这些软件产生成见!

第二课如何破解软件

作为一名程序员,由于我所编写的几款小软件经常被人破解,所以就对常见的软件破解方式比较关注。在这篇文章中,我把各种软件破解方式一网打尽,如算法注册机、内存破解法、补丁破解法和文件注册法等,以便大家“知己知彼,百战不殆”。同时,我也想让大家认识到,软件的加密和破解是一场长期的“猫和老鼠”的较量。(注:本文内容仅限于学术研究。)

一、算法注册机

算法注册机是在破解者分析了软件的注册码算法后,制作出来的一种可以自动生成软件注册码的程序(一般软件作者自己也编写得有算法注册机,用于卖软件)。由于用这种方式破解的软件和正版注册的一模一样,功能上没有任何区别,所以它是最完美的软件破解方式。下面介绍算法注册机的三种工作流程。

1.运行未注册软件,得到软件机器码,再用算法注册机算号注册

这类软件加密的特点是一个注册码只能在一台电脑上使用,像和电脑进行了一对一的绑定。在此以“南方排八字4.6”为例说明。安

装该软件后点击帮助菜单中的“注册”项,在注册窗口中就可以看到一个根据你的电脑而生成的惟一机器码。把这个机器码复制到对应的算法注册机中,点击Generate按钮就可得到软件的注册码(如图1)。最后,把算出来的注册码填入软件的注册码窗口,并随意填写注册人的姓名,就完成了软件的注册。

图为:运行未注册软件,得到软件机器码后,用算法注册机算号注册

2.用算法注册机直接算出注册码

这类软件的加密方式最普遍,用一个注册码就可以给不同的电脑上的同一软件注册。在此以UltraEdit v10.10c为例说明。安装该软件后它会提示你输入用户名和注册码。这时启动它所对应的算法注册机,输入一个自定义的用户名(如hacker),注册码就在下面自动生成了(如图2)。最后,把得到的注册码复制到UltraEdit的注册窗口中,并填上刚才自定义的用户名,注册结束。

图为:用算法注册机直接算出软件的注册码

3.用算法注册机直接注册

采用这种注册方式的软件非常少,其特点是一旦运行算法注册机,软件便注册成功了!在此以Clone.CD.4.3.2.2为例说明。安装好该软件后,不要启动它。先运行它所对应的算法注册机,保持默认用户名不变(也可自定义),当点击Exit按钮退出后,该软件便被成功注册了(如图3)。

图为:利用算法注册机直接注册软件

二、内存破解法

内存破解法是先加载破解程序(内存注册机),再通过它去读取内存中软件的注册码,或修改内存中软件相关的某些数据,来达到破解软件的目的。

1.直接从内存中得到注册码

这种方法只须知道软件注册码的内存地址就行,无须掌握软件注册码的算法,很节省编写内存注册机的时间。在此以“玩转V3.12”为例。安装该软件后,把它的内存注册机复制到软件安装目录中。把你的手机连接到电脑上,并运行内存注册机。内存注册机会自动把该软件启动,跟着出现的手机向导往下走,会自动检测到手机。当检测完成后,内存注册机就自动弹出一个窗口,里面便是软件的注册码。把注册码记下来后点击“确定”按钮,会弹出软件注册窗口,填入注册码即可完成注册(如图4)。

图为:直接从内存中得到软件的注册码

2.使用Loader程序

此方法是在没有找到很好的破解方法时采用,它可以去掉软件运行时的注册提示窗口(或软件过期提示窗口),可在内存中模拟软件已注册的运行环境,甚至有的还能给软件带来一定的功能扩展。玩过网络游戏“传奇”的朋友应该知道这种破解方式,它有点像“传奇”的外挂。在此以UltraFXP v1.06为例说明。安装该软件后,把它对应的Loader程序复制到软件安装目录中,并把UltraFXP的快捷运行方式从原来指向的UltraFxp.exe改为指向Loader程序。这样运行软件时就是先运行Loader程序,再运行该软件,而此时的软件环境就是“已注

册”。网上流行的QQLDR程序也属于这种,它的作用是去掉QQ的广告,并显示对方的IP。这种外挂性质的破解方式优点是完全不用修改软件的程序文件(如图5)。

图为:像网络游戏外挂一样的Loader程序

三、补丁破解法

补丁破解法是指用相关的补丁程序来修改软件,以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间,基本上都是修改原程序的判断语句。

在此以MSN Messenger 6.1为例说明。先不要运行它,而运行其破解补丁程序。在补丁程序中点击“Apply Patch”按键,指定MSN Messenger的安装目录。当点击“OK”按钮后,即可完成软件的破解(如图6)。经过以上操作,MSN Messenger的广告条就没有了,而且可以同时运行几个。

图为:用补丁破解MSN Messenger

四、文件注册法

文件注册法是把软件的注册内容放到一个文件里,以方便自己或别人用它来注册。

1.注册表导入

这种注册方式是通过运行.reg注册表文件进行注册,而软件注册码的注册表信息就存放在这个注册表文件中。破解的操作步骤是先安装软件,然后双击它的.reg破解文件,出现是否导入注册表的询问窗口后,点击“确定”按钮就完成了注册。Nokia LogoManager 1.3就是采

用的这种破解方式,不过它的破解包含了主程序文件破解和注册表导入两种。

2.注册文件

采用这种注册方式的典型代表是WinRAR,其注册文件名为Rarreg.key,里面含有用户名和注册码等信息。安装WinRAR后,把Rarreg.key复制到软件的安装目录。当WinRAR运行时,就会自动读取注册文件里的信息,以验证软件的注册是否正确。

五、破解版

破解版是指用户到手的软件已经被破解,可以直接当正版的已注册软件使用。这种已破解的软件如果破解得不彻底,运行时就会出现一些问题(如随机性出错等),不像用注册机破解的效果那么好。

比如LogoManager File Converter,它后便可直接使用,因为它是被破解过的。还有一种破解版是只破解了软件的主程序文件。当软件安装好后,把已破解的主程序文件复制到软件的安装目录中,覆盖原主程序文件就完成破解了。

六、其他与破解相关的内容

1.查看NFO文件中的破解信息

很多从网上下载的软件都带有NFO文件,它里面有该软件的详细破解信息,如破解时间、组织、发布方式、破解方式以及安装方法等(如图7)。不过NFO文件基本上都是英语的,要有一定的英语基础才能看懂。查看NFO文件可用DAMN NFO Viewer(下载地址:点击下载),用记事本有时看不到里面的图案。

图为:LogoManager File Converter的NFO破解信息文件

2.0day与Warez

讲到破解软件,就不能不说0day与Warez。0day并不是指那些破解专家不到一天就能“搞定”某个软件,而是说他们能在最短的时间里把软件“解锁”,并发布在网上。0day的真正意思是“即时发布”,我们可以把它看做一种精神。Warez是对软件破解的泛称,其中“z”既表示复数,形容非常多,也表示0day中的“0”(即zero),一语双关。0day 其实就是Warez的一种传播形式。

世界上并不存在叫0day或Warez的跨国“邪恶”组织。如果有人说他属于“0day组织”,很多时候并不是指他真的在一个叫“0day”的破解组织里干活,而是指他(或他的组织)的软件破解行为符合0day精神。0day是非商业化、非盈利的软件志愿破解行为,市场上那些把0day软件做成盗版光盘销售的行为,与0day的本意无关。

通过本文,相信大家对软件的破解方式有了深刻的认识。提醒大家,非法的软件破解是对软件著作权人的一种侵害。下面是《计算机软件保护条例》的在线阅读地址:https://www.360docs.net/doc/569176721.html,/GB/it/20011228/637650.html,里面有些内容值得大家注意,如未经软件著作权人许可,不得修改、翻译其软件,不得故意避开或者破坏著作权人为保护其软件著作权而采取的技术措施等。

第三课软件壳和所用编程语言的识别

软件作者用编程语言编写好软件后,将它编译成扩展名为exe 的可执行文件。

(1)有一些版权信息需要保护起来,不能让其他人随意改动,如作者的姓名、软件名称、版本号等等。

(2)需要给程序“减肥”,使exe 文件变小,从而方便存储、使用和网上传输。这样,就会用到一些软件,它们能将可执行文件压缩和对信息加密,实现上述两个功能,这些软件称为加壳软件。为软件加上的东西就称为壳。“壳”这一名词来源于动植物。

需要特别说明的是:加壳软件不同于一般的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 文件。软件主页为https://www.360docs.net/doc/569176721.html,。软件界面如图 1.16 所示:

图 1.16 PEiD 汉化版界面

首先点击“选项”按钮进行配置。扫描方法推荐选择“核心扫描”;把“添加到鼠标右键”打上对号,如图1.17。

*图 1.17 配置PEiD

以后选择好目标文件后,点鼠标右键,选中“用PEiD 扫描”,然后就会显示出壳的信息,如图1.18(以ex204 为例):

*图 1.18 侦壳结果

信息栏显示的就是目标程序的壳。信息栏显示“ASProtect 1.2 /

1.2c-> AlexeySolodovnikov”说明是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 子目录下。

插件的下载网站为https://www.360docs.net/doc/569176721.html,/和https://www.360docs.net/doc/569176721.html,/BobSoft/。

*PEiD 实用插件及功能表1-1

插件名称功能

VerA 精确检测ASProtect 软件的详细版本

Add Signature 增加新壳的签名,扩充用户数据库Generic OEP Finde 通用入口点寻找

Krypto ANAL yzer 来源于著名的密码学工具软件kanal,

侦测软件所采用的密码学算法

PEiD Unpacker generic 通用的自动脱壳工具(第2 章中详解)**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 识别

二、其他

这类软件还有很多,例如pe-scan、PE Sniffer、fileinfo、Exeinfo PE、DiE、FastScanner、FFI 等,后四种比较新。使用方法和上面的软件差别不大,下面给予简要介绍。

1.pe-scan

pe-scan 的界面如图1.25:

图 1.25 pe-scan 界面

为方便使用,在“选项”中配置如图1.26 所示:

图 1.26 pe-scan 配置选项

2.FFI

FFI 全称为File Format Identifier,为超级巡警病毒分析工具之一。是一款辅助进行各种文件格式识别和病毒分析的工具。网站https://www.360docs.net/doc/569176721.html,。界面如图1.27:

图 1.27 FFI 运行界面

FFI 具有更换皮肤功能,使得界面更漂亮,可在设置中切换自己喜欢

的皮肤风格。

图 1.28 FFI 的“Options”设置选项

3. FastScanner

A T4RE 组织出品的FastScanner 能识别2017 种签名,界面如图 1.29 所示:

图 1.29 FastScanner 运行界面

其特点是支持插件、数据库升级、插件升级、扩展到鼠标右键。如图 1.30:

图 1.30 FastScanner 的配置4. Exeinfo PE

一款2006 年推出的侦壳软件,更新速度较快,目前能识别407种壳。其网站为:http://www.exeinfo.go.pl (需要代理才能访问)。运行界面如图 1.31。

图 1.31 exeinfope 侦壳界面

它的最大的特色是提供了详尽的脱壳解决方案,这是其所独有的唐门独门暗器。提示给你壳Aspack2.12 的解决办法:脱壳采用Stripper.exe v.2.07 (not 2.11) 或AspackDie 1.4。软件可以换肤,有5 种界面形式任君选择。点Options 按钮,如图1.32。图 1.31 所示界面为 3 号皮肤。

相关文档
最新文档