吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 6169|回复: 17

[原创逆向图文] 记一次有趣的机器码Patch+注册码Patch

  [复制链接]
Shy 发表于 2016-7-15 23:22 | 显示全部楼层 |阅读模式

本教程由热情洋溢的木木不哭赞助播出(“哎呀我摔倒了要漂亮姐姐亲亲才能起来”)


逆向前言:在x日论坛,看到的一个课件,就随便玩了玩,发现了一些有趣的事,程序居然是联网获取服务器里面的txt进行机器码+注册码对比,但是本身又是重启验证,有趣得很

逆向正文:
至于爆破的话,这里只顺便提一点,跟之前我做过很多次图文一样,还是地址常量的问题,这里贴上它的关键代码,略微一分析就ok,但是本期教程的重点不在此,
1.jpg
0080DC7A   /75 49           jnz short 0080DCC5
0080DC7C   |A1 10888200     mov eax, dword ptr [0x828810]     ''''' 这里是把828810地址处的值赋值给了eax
0080DC81   |C700 01000000   mov dword ptr [eax], 0x1            ''''''这里是给刚刚eax的值的值,这里注意,是eax的值的值,少两字意思不一样,赋值为1


以上的注释,稍微讲一下,看过我教程的人都知道,我说的是什么意思,反正说白了,这个赋值为1才是关键,如果不是1而是0,那就是未注册,剩下的 你们懂得、、
--------------------------分割线

机器码Patch:
在说机器码Patch之前,我们回到逆向前言,之前我说过了,这个程序他是获取服务器的txt文本,对比里面有没有你的注册码跟机器码,
换句话来说,假设你的注册码+机器码是匹配的,那么如果服务器中没有你的机器码,就算你的注册码是对的,它也会提示你没有登记,还是未注册(爆破当我没说这句)

那么我强调很多次了,机器码Patch的要点,是要在他刚刚算出机器码的地方Patch,否则人家都传递复制出来了,你再改也是改的标签或者是编辑框的内容,就没啥意义了
在此我们换位思考,如果你是作者,你是会把取机器码放在程序启动时,还是事件发生时?一般来说都是放在程序窗口启动完毕,或者将要启动完毕的时候,所以由此我们找到
2.jpg
我下的断点的上一句代码,就是那个call,他里面实际上是取了一个cpuid,后面的我就没注意看了,反正好像是分了两段,这个不是重点,了解一下就行

然后这里Patch,看到这句代码
0080E706    8B55 E8         mov edx, dword ptr [ebp-0x18]
很明显是把机器码的值传递到edx,所以这时候我们要么修改edx,要么修改后面的ebp-18,这里提供两个修改的方式

修改edx:
mov edx, dword ptr [ebp-0x18]
mov edx,(存放机器码的位置,如00401000)

修改ebp-18:(比较麻烦)
mov edx, dword ptr [ebp-0x18]


mov dword ptr ds[edx],
mov dword ptr ds[edx+4],
mov dword ptr ds[edx+8],
mov dword ptr ds[edx+C],

,后面是把机器码拆分为4段,每段4位,所以后面填每4位的16进制就ok(前提是你的机器码是16位数,不足则继续添加,多余则减小偏移)

我知道你们这些新来的,基本上也看不懂上面的操作,你们没有打好基础,这个说句实在的我也教不了,自学吧,不要以为自己会什么push,会什么test edx,3就已经不得了了,
基础不扎实做什么都是半吊子,就跟我一样,,一座高楼怎么可以没有扎实的地基呢?(lz开启了啰哩啰唆模式,无视即可)
效果图:
3.jpg

这个就是最终效果,当然你要拿去卖的话,改啥都没问题,反正挺好玩的,,(假如这时候你有一个正版注册码+机器码,并且已经登记,通过Patch可直接使用)

我的目的就是上面括号所说,这时候别急,教程还没完,所以我接着说机器码的Patch,这个比上面那个Patch机器码更高端更装x,为什么?

因为如果你把你自己的机器码的注册码追出来以后,改完存放的注册码文件直接可用,你说屌不屌?无视联网验证,联网验证其实就是在输入注册码的时候才会去获取的,但是如果
你是直接把注册码文件都搞出来了,这个联网验证自然就废了,那么话不多说,进行下面的高逼格玩法

注册码Patch:
注册码Patch,顾名思义,你要先有注册码,然后才能Patch对不对?什么?问我怎么追到注册码,刚刚你不是说联网验证吗?那还追个毛线?lz是不是sb了?

嗯哼,我有必要解释下,联网验证,它验证的是机器码+注册码是否存在,首先验证它是否存在,必定要先算出来对不对?要算出来,自然就好办了,追码模式开启:
4.jpg

如果你在我断点的位置断不下,不要惊慌,其实是我干掉了一个判断而已
至于这个注册码为什么会在这,我猜测可能是下面这个je应该是在判断注册码是否存在吧,只是猜测,当然这个不是重点,重点是Patch机器码

0080DC5A   /0F84 EF000000   je 0080DD4F   NOP即可追码

到现在为止我们找到了注册码,那么我们就要把注册码写入到注册文件,需要用到的工具EverEdit或者WinHex,这个大家随意,EverEdit我也有分享过,自己论坛找

保存注册码的偏移:AAF20
5.jpg
这样保存即可,这个注册码空文件我等会会在末尾发出来,AAF20这一段我会直接写0,到时候你们要改的话就直接把00用注册码覆盖即可
说实在话,确实是我不记得如果没有注册,到底有没有这个注册文件了,我也是无意中发现这个注册码居然可以修改的,,,我的天,,,
6.jpg
妥妥的,没意外,接下来我们看他的服务器txt文件,链接为:http://www.bq998.com/WNHWGG/HardID.txt
7.jpg

然后大家看着办吧,要改啥这里都有,前面的是机器码,后面的是注册码,有兴趣的可以山寨或者做个KeyGen都行
不过由于我对算法没什么兴趣,就说说我所知道的吧,首先它获取了注册码的位数为10(十进制16),后来好像是进行了分割,最后是把算出来的注册码进行每两位数进行倒转

比如算出来的结果为123456,最终的注册码就为214365,,,软件就分析到此,还是那句话,看再多的教程自己不动手=0
到时候如果有必要的话我会放一份关于内存补丁无效的分析教程,,,或者放点其他的也行,,,



评分

参与人数 16威望 +1 HB +41 THX +10 收起 理由
lies + 1
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
Corner514 + 1
sjtkxy + 2 + 1
24567 + 1
Jawon + 1
Soul1999 + 1
消逝的过去 + 1
冷亦飞 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
叶落花开 + 1
sy12138 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
1206143866 + 1 + 1 分享精神,是最值得尊敬的!
菜鸟中的菜鸟 + 1 + 1 膜拜高手
892644330 + 1 + 1 分享精神,是最值得尊敬的!
Shark恒 + 1 + 30 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| Shy 发表于 2016-7-15 23:25 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-7-15 23:44 | 显示全部楼层

Shy的教程很详细,赞!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
高空晴云 发表于 2016-7-15 23:47 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
892644330 发表于 2016-7-16 00:04 | 显示全部楼层

向大神同志学习经验谢谢~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
晓晨微光 发表于 2016-7-19 04:43 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xiaoxixpj 发表于 2016-7-19 13:17 来自手机端 | 显示全部楼层

学习学习。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
1206143866 发表于 2016-11-22 21:27 | 显示全部楼层

来学习一下,谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
3622020 发表于 2016-11-23 15:19 | 显示全部楼层

跟着学起来!~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
dztszx 发表于 2016-11-25 21:35 | 显示全部楼层

谢谢分享谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表