作为一名程序员,由于我所编写的几款小软件经常被人破解,所以就对常见的软件破解方式比较关注。在这篇文章中,我把各种软件破解方式一网打尽,如算法注册机、内存破解法、补丁破解法和文件注册法等,以便大家“知己知彼,百战不殆”。同时,我也想让大家认识到,软件的加密和破解是一场长期的“猫和老鼠”的较量。(注:本文内容仅限于学术研究。)
一、算法注册机
算法注册机是在破解者分析了软件的注册码算法后,制作出来的一种可以自动生成软件注册码的程序(一般软件作者自己也编写得有算法注册机,用于卖软件)。由于用这种方式破解的软件和正版注册的一模一样,功能上没有任何区别,所以它是最完美的软件破解方式。下面介绍算法注册机的三种工作流程。
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(下载地址:http://www.onlinedown.net/soft/9064.htm),用记事本有时看不到里面的图案。
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的本意无关。
通过本文,相信大家对软件的破解方式有了深刻的认识。提醒大家,非法的软件破解是对软件著作权人的一种侵害。下面是《计算机软件保护条例》的在线阅读地址: www.people.com.cn/GB/it/20011228/637650.html,里面有些内容值得大家注意,如未经软件著作权人许可,不得修改、翻译其软件,不得故意避开或者破坏著作权人为保护其软件著作权而采取的技术措施等。