论文部分内容阅读
虽说一款共享软件的价格不算贵,但如果不小心把注册码丢掉,重装系统的时候只能干瞪眼儿了。本文带领大家一探软件注册的神秘世界:网上流传的卡巴斯基30天循环使用补丁,是怎么制作出来的?怎样找回自己丢失的注册码?软件注册码的玄机,随软件种类不同而不同吗?
本文内容以交流技术为主,软件破解仅限于读者找回丢失的软件注册码,软件的版权仍归软件作者所有,未经软件作者同意,禁止其他之用。
开篇废话:
1.我将借助几个比较实用而操作简单的小软件来做为例题,为大家详细介绍一下突破共享软件限制的方法。
2.本文提到的所有软件工具都在http://work.newhua.com/cfan/201008/pjgj.rar。注意,PEiD、Ollyice以及keymake由于工具特殊,会被杀毒软件误报为病毒。
第1式
注册表对照造就永久免费
适用对象:
未注册版本有试用次数或时间限制的软件
工具:Regshot
这是一款通过记录操作前后注册表状态并且进行比较,分析注册表变化的小工具。
原理:
一般来说,软件使用的次数被记录在注册表中,如果能找到这个注册表文件,把已经使用的次数改为0,又可以重头计算,那样不就是无限循环使用了吗?
实例:Flash日语五十音图
过程详解:这个软件对日语初学者来说是很好的练习发音的小工具。在使用之前,打开工具Regshot,依次选择“快照A→全部注册表”(见图1)。第一次扫描结束后,不要关闭Regshot。打开软件,提示软件最多试用30次。关闭软件,使用Regshot中的快照B,依旧扫描全部注册表,这次记录的是试用过软件一次以后注册表的状态。
扫描结束后,自动弹出一个HTML文本,显示出前后两次注册表变化的地方。其中,在注册表已改变值这一项中,路径[HKEY_CURRENT_USERSoftwareVB and VBA Program SettingsMyAppset ime]的键值从0变为1,这里记录的很可能是这个软件已经试用的次数。为了验证猜想,打开“注册表编辑器”(“开始→运行”输入regedit并回车)按照上述路径找到该键。再次运行软件后,提示还能试用29次,而按下F5刷新注册表,发现键值已经变成了2。
如此一来,可以确信这个键就是记录试用次数的地方。在试用的30次快用光的时候,只需将键值改为0,就能继续试用了。也可以将修改好的键导出,需要的时候,直接双击导入就可以了。
课后练习:相信很多使用过卡巴斯基的朋友都会知道网上流传的30天试用循环补丁,其实它就是通过一个批处理删除记录曾经试用过软件的注册表文件实现循环试用的。具体删除哪些键呢?大家可以使用Regshot,自己动手查找一下吧(答案请参考2009年1期文章《仔细对比,试用永不过期》)。
第2式
“爆破大法”经典不休
适用对象:
有共享软件找不到注册码,那就让我不管输入什么都是对的!
工具:Ollyice
原理:
给出这样一个软件的注册验证算法:
Step1.输入自己获得的注册码(简称输入码)。
Step2.调用储存在软件中的真正注册码(简称真码),与输入码比较。如果二者相同,即输入的是正确的码,则继续进行下一步。如果二者不同,则跳转到步骤4。
Step3.显示“注册成功”。结束。
Step4.显示“注册失败”。结束。
实例:XColor for Excel(下载地址:http://www.onlinedown.net/soft/30695.htm)
过程详解:XColor是一个Excel里的插件(COM add-in),通过为提供自定义的背景色来增强Excel行的显示效果。未注册的版本最多试用30次。打开注册界面,注册码输入不正确的话,会提示Invalid Redcode。这个字符是最关键的信息,也是入手点。
打开调试工具Ollyice,依次选择“文件→打开”,找到安装文件夹,双击后选择打开文件类型为DLL,目标文件是XColor.dll。依次选择“插件→超级字串参考→Unicode”。
小提示
一般来说,选择字串种类要根据软件编写的语言。VB和这样的动态链接库通常选择Unicode,其他通常选择ASCII码。
按下组合键Ctrl+F调出查找功能,以Invalid为关键字搜索,就能找到提示的字符。双击该字符提示,跟进到地址11032B0A。在它的上方,地址11032B05处的HEX数据中,开头有一个>符号,并且有一条红线连接着更上方的地址,那意味着是从红线另一端的地址跳转到此处,再向下运行一步就来到了提示Invalid Redcode的地方(见图3)。顺着红线,找到了地址1103254E,比较输入码和真码,输入错误就会跳到提示注册错误的地址。按照爆破的原理,将它修改为反义。
在这一行右击选择“汇编”,再依次点击“汇编→取消”。这时,原来地址上的je变成了jnz,而且用红色加亮。修改完毕,在该界面上右击选择“复制到可执行文件→所有修改”,再选择“全部复制”。在新界面中,右击选“保存文件→覆盖文件”即可。
现在重新打开Excel2007,调用Xcolor工具,选择“注册”,随意输入一个注册码都会提示registration succeed(注册成功)。查看软件信息,已经是注册版本,功能没有任何限制了。至此完成了爆破处理(见图4)。
第3式
揪出内在注册码
适用对象:
常见的要求输入注册码的共享软件。
工具:PEiD,脱壳工具,Ollyice
原理:
之所以随意输入一个注册码会被提示注册失败,是因为在软件编写时,已经放置了真正的注册码,放置的位置叫做寄存器,只是看不到真码。采用调试工具让软件一步步慢慢运行,可以查看到寄存器的信息,来到储存真码的寄存器时,就会找到真码。再拿这个注册码来注册,当然就能成功了。
调试过程中,会看到几个比较重要的命令。CALL是调用数据,Mov是赋值,Push是出栈。
实例:《云南高等植物电子辞典》
过程详解:
第一步:查壳。软件编写好以后通常要加壳,加壳是一个压缩和加密的过程。打开工具PEiD,选择要处理的软件,这里选择的路径一定是安装目录下的可执行文件,而不是快捷方式。
第二步:尝试注册。打开软件,提示未注册版只能试用15天,而且一些功能受到限制。随意输入一个注册码,点击注册后,得到提示为“注册码错误”,这个重要字符将是接下来操作的入手点。
第三步:设置断点。用Ollyice载入软件,查找ASCII码,按照上边爆破的方法,搜索到字符“注册码错误”并且双击跟进到地址006A14B0,向上还看到了关键判断的地址006A1475。通常CALL是调用数据,有可能调用寄存器中的注册码,所以断点一般设在CALL处。来到地址006A1445,按下F2以后,地址变为红色,说明设置断点成功。断点的意思是,软件运行到这里会被终止,就可以按照自己的需要进行操作。
第四步:找到注册码。接下来按下F9运行软件,如果提示有异常,则按下组合键Shift+F9继续,直到软件打开,依旧提示注册,随意输入注册码以后,软件还没有运行到提示错误的地址就被断点停下了。此时回到调试工具Ollyice,已经运行到断点的地址。按下F8软件会单步运行,就是每次只向下进行一步,放满了软件运行的过程,注意观察右侧的寄存器。当运行到006A145D时,寄存器中出现了两组奇特的字符。其中,下面一行的数据是机器码,上面毫无规律的字符是注册码(见图5)!
在寄存器中右键将寄存器信息复制下来,提取注册码。关闭Ollyice,重新打开软件,输入这串数字,提示注册成功了(见图6)!这样,成功追踪到了注册码。
课后练习:利康医药进销存系统(下载地址:http://www.onlinedown.net/soft/34993.htm),答案见视频教程。教程地址http://u.115.com/?ctl=pickcode&pickcode=f94665f993。
本文内容以交流技术为主,软件破解仅限于读者找回丢失的软件注册码,软件的版权仍归软件作者所有,未经软件作者同意,禁止其他之用。
开篇废话:
1.我将借助几个比较实用而操作简单的小软件来做为例题,为大家详细介绍一下突破共享软件限制的方法。
2.本文提到的所有软件工具都在http://work.newhua.com/cfan/201008/pjgj.rar。注意,PEiD、Ollyice以及keymake由于工具特殊,会被杀毒软件误报为病毒。
第1式
注册表对照造就永久免费
适用对象:
未注册版本有试用次数或时间限制的软件
工具:Regshot
这是一款通过记录操作前后注册表状态并且进行比较,分析注册表变化的小工具。
原理:
一般来说,软件使用的次数被记录在注册表中,如果能找到这个注册表文件,把已经使用的次数改为0,又可以重头计算,那样不就是无限循环使用了吗?
实例:Flash日语五十音图
过程详解:这个软件对日语初学者来说是很好的练习发音的小工具。在使用之前,打开工具Regshot,依次选择“快照A→全部注册表”(见图1)。第一次扫描结束后,不要关闭Regshot。打开软件,提示软件最多试用30次。关闭软件,使用Regshot中的快照B,依旧扫描全部注册表,这次记录的是试用过软件一次以后注册表的状态。
扫描结束后,自动弹出一个HTML文本,显示出前后两次注册表变化的地方。其中,在注册表已改变值这一项中,路径[HKEY_CURRENT_USERSoftwareVB and VBA Program SettingsMyAppset ime]的键值从0变为1,这里记录的很可能是这个软件已经试用的次数。为了验证猜想,打开“注册表编辑器”(“开始→运行”输入regedit并回车)按照上述路径找到该键。再次运行软件后,提示还能试用29次,而按下F5刷新注册表,发现键值已经变成了2。
如此一来,可以确信这个键就是记录试用次数的地方。在试用的30次快用光的时候,只需将键值改为0,就能继续试用了。也可以将修改好的键导出,需要的时候,直接双击导入就可以了。
课后练习:相信很多使用过卡巴斯基的朋友都会知道网上流传的30天试用循环补丁,其实它就是通过一个批处理删除记录曾经试用过软件的注册表文件实现循环试用的。具体删除哪些键呢?大家可以使用Regshot,自己动手查找一下吧(答案请参考2009年1期文章《仔细对比,试用永不过期》)。
第2式
“爆破大法”经典不休
适用对象:
有共享软件找不到注册码,那就让我不管输入什么都是对的!
工具:Ollyice
原理:
给出这样一个软件的注册验证算法:
Step1.输入自己获得的注册码(简称输入码)。
Step2.调用储存在软件中的真正注册码(简称真码),与输入码比较。如果二者相同,即输入的是正确的码,则继续进行下一步。如果二者不同,则跳转到步骤4。
Step3.显示“注册成功”。结束。
Step4.显示“注册失败”。结束。
实例:XColor for Excel(下载地址:http://www.onlinedown.net/soft/30695.htm)
过程详解:XColor是一个Excel里的插件(COM add-in),通过为提供自定义的背景色来增强Excel行的显示效果。未注册的版本最多试用30次。打开注册界面,注册码输入不正确的话,会提示Invalid Redcode。这个字符是最关键的信息,也是入手点。
打开调试工具Ollyice,依次选择“文件→打开”,找到安装文件夹,双击后选择打开文件类型为DLL,目标文件是XColor.dll。依次选择“插件→超级字串参考→Unicode”。
小提示
一般来说,选择字串种类要根据软件编写的语言。VB和这样的动态链接库通常选择Unicode,其他通常选择ASCII码。
按下组合键Ctrl+F调出查找功能,以Invalid为关键字搜索,就能找到提示的字符。双击该字符提示,跟进到地址11032B0A。在它的上方,地址11032B05处的HEX数据中,开头有一个>符号,并且有一条红线连接着更上方的地址,那意味着是从红线另一端的地址跳转到此处,再向下运行一步就来到了提示Invalid Redcode的地方(见图3)。顺着红线,找到了地址1103254E,比较输入码和真码,输入错误就会跳到提示注册错误的地址。按照爆破的原理,将它修改为反义。
在这一行右击选择“汇编”,再依次点击“汇编→取消”。这时,原来地址上的je变成了jnz,而且用红色加亮。修改完毕,在该界面上右击选择“复制到可执行文件→所有修改”,再选择“全部复制”。在新界面中,右击选“保存文件→覆盖文件”即可。
现在重新打开Excel2007,调用Xcolor工具,选择“注册”,随意输入一个注册码都会提示registration succeed(注册成功)。查看软件信息,已经是注册版本,功能没有任何限制了。至此完成了爆破处理(见图4)。
第3式
揪出内在注册码
适用对象:
常见的要求输入注册码的共享软件。
工具:PEiD,脱壳工具,Ollyice
原理:
之所以随意输入一个注册码会被提示注册失败,是因为在软件编写时,已经放置了真正的注册码,放置的位置叫做寄存器,只是看不到真码。采用调试工具让软件一步步慢慢运行,可以查看到寄存器的信息,来到储存真码的寄存器时,就会找到真码。再拿这个注册码来注册,当然就能成功了。
调试过程中,会看到几个比较重要的命令。CALL是调用数据,Mov是赋值,Push是出栈。
实例:《云南高等植物电子辞典》
过程详解:
第一步:查壳。软件编写好以后通常要加壳,加壳是一个压缩和加密的过程。打开工具PEiD,选择要处理的软件,这里选择的路径一定是安装目录下的可执行文件,而不是快捷方式。
第二步:尝试注册。打开软件,提示未注册版只能试用15天,而且一些功能受到限制。随意输入一个注册码,点击注册后,得到提示为“注册码错误”,这个重要字符将是接下来操作的入手点。
第三步:设置断点。用Ollyice载入软件,查找ASCII码,按照上边爆破的方法,搜索到字符“注册码错误”并且双击跟进到地址006A14B0,向上还看到了关键判断的地址006A1475。通常CALL是调用数据,有可能调用寄存器中的注册码,所以断点一般设在CALL处。来到地址006A1445,按下F2以后,地址变为红色,说明设置断点成功。断点的意思是,软件运行到这里会被终止,就可以按照自己的需要进行操作。
第四步:找到注册码。接下来按下F9运行软件,如果提示有异常,则按下组合键Shift+F9继续,直到软件打开,依旧提示注册,随意输入注册码以后,软件还没有运行到提示错误的地址就被断点停下了。此时回到调试工具Ollyice,已经运行到断点的地址。按下F8软件会单步运行,就是每次只向下进行一步,放满了软件运行的过程,注意观察右侧的寄存器。当运行到006A145D时,寄存器中出现了两组奇特的字符。其中,下面一行的数据是机器码,上面毫无规律的字符是注册码(见图5)!
在寄存器中右键将寄存器信息复制下来,提取注册码。关闭Ollyice,重新打开软件,输入这串数字,提示注册成功了(见图6)!这样,成功追踪到了注册码。
课后练习:利康医药进销存系统(下载地址:http://www.onlinedown.net/soft/34993.htm),答案见视频教程。教程地址http://u.115.com/?ctl=pickcode&pickcode=f94665f993。