软件爆破 - 图文

更新时间:2023-12-19 19:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

爆破,让注册机制形同虚设

在注册时,如果输入的注册码不对,就会提示注册失败。能不能我们任意输入一个数,都会显示注册成功,让注册机制形同虚设?爆破就可以做到这样,不用知道注册码到底是什么,很强,很暴力,很简单。

原理分析:

给出这样一个软件的注册验证算法: 1、输入自己获得的注册码(简称输入码)。

2、调用储存在软件中的真正注册码(简称真码),与输入码比较。如果二者相同,即输入的是正确的码,则继续进行下一步。如果二者不同,则跳转到步骤4。 3、显示“注册成功”。结束。 4、显示“注册失败”。结束。

显然,这里的第二步的判断是一个关键。如果将第二步改为“调用储存在软件中的真正注册码(简称真码),与输入码比较。如果二者不同,即输入的是错误的码,则继续进行下一步。如果二者相同,则跳转到步骤4。”会出现怎样的情况呢?对了,当我们随便输入一个数字时,软件都会提示注册成功。这不就是破解了吗?而像这样通过修改判断的方法就是爆破。简单直接,但是需要你找到关键的跳转判断。

一些有用的语句 cmp a,b 比较a与b mov a,b 把b的值送给a ret 返回主程序

nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90) call 调用子程序

je 或jz 若相等则跳(机器码74 或0F84) jne或jnz 若不相等则跳(机器码75或0F85) jmp 无条件跳(机器码EB) Jb 若小于则跳 ja 若大于则跳 jg 若大于则跳 jge 若大于等于则跳 jl 若小于则跳 jle 若小于等于则跳

pop 出栈 push 压栈 工具:调试工具(我习惯用Ollyice)

步骤:

1、 老规矩还是查壳,发现是Aspack的壳,这个壳老套无比,有脱壳机搞定。

2、 脱壳后,得到Unpacked.exe文件

3、 打开调试工具,Ollyice,依次点击文件—打开,选择该文件路径,载入。

4、 依次点击插件—超级字串参考—查找ASCII。

5、 这里显示了所有软件提示的字符。

6、 打开软件随意注册一下,看看提示的字符,记住“注册码输入错误”。

7、 在ASCII码中查找到这个字符。

8、 双击跟进,来到这个地址。从这个地址向上,沿着红线来到判断的地址,这里的jnz的意思就是比较输入码和真码,如果两个值不一样,就会沿着红线跳转到“注册码输入错误”的地址。如果相同,就会向下运行,来到“注册成功”的提示。所以,我们可以将这个jnz的判断改成相反的je。

1、 打开工具软件keymake。依次选择其它,内存注册机。

2、 点击浏览,找到软件所在位置。在设置注册机信息的界面中,点击左下角的添加。

3、中断地址就是006E6435,中断次数为1,第一字节E8,指令长度5(每两个字母是一个长度),这些是可以在调试工具中的HEX数据中看到的。寄存器方式EAX。填写完,点击添加。

4、 界面如图所示,点击用户信息,可以添加自己的网页和邮箱。

5、 设置好以后,点击生成。

6、 选择一个界面样式,点击确定。

7、 注册机必须放到软件安装目录下。

8、使用时,双击注册机,跳出来软件注册界面,随意输入注册码,提示注册码错误,注册机会显示正确的注册码。但是,前8位数字要略去,因为我做的是一个简单的演示,一些有关地址等等的多余字节没去掉,注意一下就可以了。

这样,我们就制作了注册机,比破解更有水准了。

五、 注册本质分析。

本来想做一个算法的分析,可是时间比较紧,没弄明白,就用这个来代替。到底注册软件改变了什么?

工具:Regshot(下载地址:http://www.heibai.net/download/Soft/Soft_11727.htm)

在未注册的状态下扫描了注册表为第一快照,然后用追到的注册码注册,最后扫描注册成功后的注册表为第二快照。得到了比较结果。

Com这一项的变化是因为我们注册的公司名称有改变,day这一项是因为我们启动了软件,导致试用次数减少。而id这一项是真正注册成功前后的变化。而这一项的数值我们非常熟悉,它就是软件的机器识别码!因此,这个软件注册的本质就是,注册表中id的值若是机器识别码,就会变成注册版。因此,我们又得到了一种破解方法,不用追踪注册码,不用爆破,只要将机器识别码写入id这一个注册表文件,就会注册成功!而机器识别码是软件显示出来的。想不到吧。

本来想做一个算法的分析,可是时间比较紧,没弄明白,就用这个来代替。到底注册软件改变了什么?

工具:Regshot(下载地址:http://www.heibai.net/download/Soft/Soft_11727.htm)

在未注册的状态下扫描了注册表为第一快照,然后用追到的注册码注册,最后扫描注册成功后的注册表为第二快照。得到了比较结果。

Com这一项的变化是因为我们注册的公司名称有改变,day这一项是因为我们启动了软件,导致试用次数减少。而id这一项是真正注册成功前后的变化。而这一项的数值我们非常熟悉,它就是软件的机器识别码!因此,这个软件注册的本质就是,注册表中id的值若是机器识别码,就会变成注册版。因此,我们又得到了一种破解方法,不用追踪注册码,不用爆破,只要将机器识别码写入id这一个注册表文件,就会注册成功!而机器识别码是软件显示出来的。想不到吧。

本文来源:https://www.bwwdw.com/article/3no5.html

Top