很多软件,我们在爆破了它的关键跳,点击注册以后也显示成功了,但是在使用它某些功能时候,仍然会提示我们,当前使用的是未注册版本,需要我们注册。
这种伪注册,不知道大家有遇到过吗?
为什么修改关键call能实现软件的真实破解注册呢? 首先说明一下,call就相当于一个子程序,他们共同组成了一个软件。
就像吾爱破解论坛 下面有很多 版块 每个版块都可以单独发帖,这些版块构成了吾爱破解论坛。
回过来说修改关键call,软件在计算 自己是否已经被注册时候,它调用的是同样的call 。
也就是说,即使它有一万个功能,并且这些功能分布在十万个不同的call(子程序)里面,但在它们判断是否注册时候,只会调用同一个call 。
我们把它叫做关键call,所以修改了这个地方,就等于改了全世界!
----------------------------------------
用到的cm,我会放在附件里面,Borland Delphi 无壳。
image.png (39.8 KB, 下载次数: 0)
下载附件
2022-5-25 08:48 上传
运行起来。有个NAG 窗口
image.png (389.01 KB, 下载次数: 0)
下载附件
2022-5-25 08:51 上传
F12 暂停,alt+F9 然后点击NAG窗口的确定按钮 此时就会断下来,向下跟踪,会执行到这里。
image.png (10.9 KB, 下载次数: 0)
下载附件
2022-5-25 09:01 上传
接下来去掉就可以了。接下来载入去掉NAG窗口的程序,运行起来。
image.png (35.92 KB, 下载次数: 0)
下载附件
2022-5-25 09:03 上传
随便输入注册名和密码,点击确定
image.png (27.16 KB, 下载次数: 0)
下载附件
2022-5-25 09:04 上传
没有任何反应!
这个时候可以用OD带的插件,万能断点!
image.png (29.05 KB, 下载次数: 0)
下载附件
2022-5-25 09:09 上传
image.png (23.4 KB, 下载次数: 0)
下载附件
2022-5-25 09:10 上传
还有另外一种方法,就是Borland Delphi 破解专用工具,dededark
image.png (20.06 KB, 下载次数: 0)
下载附件
2022-5-25 09:12 上传
我们可以看到,按钮时间的起始位置是00450518,
Ctrl+g 输入00450518 到达这个位置,F2 下断点,运行程序,然后重新点击一下确定按钮。
image.png (38.42 KB, 下载次数: 0)
下载附件
2022-5-25 09:16 上传
被断下来了,接下来,向下跟踪,寻找关键call ,一般关键call 就在关键跳的上面两行
-------------------------------------
比如:
call 004XXXX //这里就是关键call
cmp xxx,xxx //对比真假
je xxx //关键跳
--------------------------------------
这里就是关键CALL,错误了就跳,正确了就不跳。
注意这个地址00453BD4
image.png (28.63 KB, 下载次数: 0)
下载附件
2022-5-25 10:14 上传
这个地址里面存放的数据和0做了比较,如果是0就跳向失败,不是0就注册成功了。
我们F7进入关键call子程序。
image.png (39.85 KB, 下载次数: 0)
下载附件
2022-5-25 09:39 上传
比如软件有N个地方都会调用这个call来判断自己是否已经被注册。那怎么才能一劳永逸的修改呢?
只要将 call的返回地址(00453BD4)里面存放的数据,在返回时候 设定成为相同或者不同的数值即可(具体是否相同,要根据不同软件设定)。
这个cm 我们为了实现成功,只要将00453BD4 里面的数据设定成为非零数据即可。
我们可以这么改。
image.png (11.39 KB, 下载次数: 0)
下载附件
2022-5-25 10:16 上传
mov byte ptr ds:[0x453BD4],0x1 将 数值1 存在00453BD4这个地方,然后retn直接返回。
看效果。
image.png (19.55 KB, 下载次数: 0)
下载附件
2022-5-25 10:31 上传
歪坑牌CM.rar
(158.82 KB, 下载次数: 107)
2022-5-25 10:33 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB