CM破解教程详解-让小白破解思维极速提升!

查看 84|回复 8
作者:ajun2019   
今天同样是小白破解cm的文章。但是同时还想分享一些关于OD的知识。
关于破解的教程,其实论坛里面有很多的了,我们在破解软件时候其实都离不开一个工具 就是OD,相信大家都很熟悉吧?


image.png (34.4 KB, 下载次数: 0)
下载附件
2022-5-30 18:27 上传

可以对比看下 自己电脑里面的OD 是不是这四个?那么它们分别有什么关系和作用呢?
先来看cpu  当大家载入软件时候,你会发现很多代码反汇编还有机器码在里面疯狂展现,光标从上到下跑,没错,CPU在运算执行命令。
比如在对比真假注册码时候,CPU能计算出来真码是多少,但是想要跟你输入的注册码对比真假,还需要寄存器FPU的帮助,比如先把假码放入寄存器EAX,然后CPU自己去计算出来真码,最后再到FPU里面拿出假码来一比较,欧耶!
总结,CPU就是大脑运算,FPU就是寄存器。
最有意思的就是堆栈,我觉得它也是寄存的功能,它具体功能我还没搞懂,请大牛指教!
-----------------------------------------
上面我讲了一堆,到底是为什么呢?
因为今天分享的这个cm的破解,跟普通的不太一样,我们来看下。OD载入。运行起来。


image.png (34.66 KB, 下载次数: 0)
下载附件
2022-5-30 18:47 上传

随意输入注册码,然后搜索二进制码  FF55FC5F5E  然后F2下断点(之前我的文章有讲过为什么搜索这个,感兴趣的可以去看。)


image.png (19.28 KB, 下载次数: 1)
下载附件
2022-5-30 18:50 上传

然后点击“注册”按钮,成功断下来了,我们F7跟进去,你会发现很有意思的现象。在里面你根本找不到关键跳!而且不管怎么改,就是错误的提示!


image.png (11.75 KB, 下载次数: 0)
下载附件
2022-5-30 18:52 上传

这个作者就很有意思了。因为他利用了大家破解的思维惯性! 什么意思呢?大家想一下,咱们小白在破解的时候,会搜索字符串,还会下F12断点,就是为了能在错误提示的地方停留下来,然后在它的上面找关键跳,绕开错误,跳向正确。对不对??但是你来看看,这个代码,正确和错误都在一起,而且根本没有关键跳能跳开,即使你修改了错误提示的窗体也一样错误。说明其实这里根本就是一个迷魂阵!真正算注册码的地方根本不在这里!
上面我讲的那个例子,大多数软件计算和对比真假码时候,流程就是CPU先把你输入的假码寄放在FPU,然后CPU腾出手来算出来真码,最后再从FPU取出假码,整个过程都是在CPU的线程里面对比完成的。如下图所示:


image.png (37.91 KB, 下载次数: 1)
下载附件
2022-5-30 20:27 上传

但这个软件注册码验证的流程是这样的


image.png (46.13 KB, 下载次数: 1)
下载附件
2022-5-30 20:40 上传

看懂上面的以后,再来分析这个软件的破解方法。


image.png (25.17 KB, 下载次数: 1)
下载附件
2022-5-30 20:42 上传



image.png (16.89 KB, 下载次数: 0)
下载附件
2022-5-30 20:43 上传

注意到上图中那个push的了吗?它push 压栈了一个地址00401495,Ctrl+G来到这个地址看下。


image.png (13.24 KB, 下载次数: 1)
下载附件
2022-5-30 20:50 上传

注意这个call,跟随进去看下,你会看到 注册码的算法。


image.png (15.03 KB, 下载次数: 0)
下载附件
2022-5-30 20:52 上传

如果你此时想跟我一样下F2断点,那么就会这样!


image.png (24.05 KB, 下载次数: 1)
下载附件
2022-5-30 20:53 上传



image.png (15.29 KB, 下载次数: 1)
下载附件
2022-5-30 20:55 上传

根本无法断点,是不是跟我上面那个流程图一个意思?那怎么办? 很简单,我们下内存断点就可以了。因为它是在内存里面的。还记得那个push压栈了一个地址00401495么?等它把地址压进了堆栈,我们在堆栈右键跟随。


image.png (28.47 KB, 下载次数: 1)
下载附件
2022-5-30 20:59 上传

这样找到那个call 00401258 以后 跟随进去,下内存访问断点就可以了。运行一下。


image.png (30.8 KB, 下载次数: 0)
下载附件
2022-5-30 21:02 上传

破解用到的cm,我放在下面啦。大家可以试试,练练手!相信对大家破解思维的提升会非常有帮助的!

()CrackMe.zip
(264.56 KB, 下载次数: 92)
2022-5-30 21:04 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

下载次数, 下载附件

ajun2019
OP
  

看到有人说怎么找push,还有人说这是海底捞针。我觉得,这只能说明一个问题,就是他们根本没有去跑过这个程序,只有跑过这个程序,这段代码的人,他们才知道为什么会是这个push,这个call。
当然,我也可以给个答案!那就是push根本不是最重要的,算法call的位置才是!
tyz1234   

太棒了,谢谢分享
okldh   

多谢分享 看看
taxuewuhen   

大师,说话简洁易懂
wksh   

学到啦,大佬好人
狼灭大帝   

学习啦,谢谢大老分享
tyz1234   

大神就是大神,学习啦,感谢楼主
wanlinwo   

这个大佬的风格和玩玩破解类似,通俗易懂,但是还是有些地方没讲细
您需要登录后才可以回帖 登录 | 立即注册

返回顶部