吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6053|回复: 37
收起左侧

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

  [复制链接]
ajun2019 发表于 2022-5-30 21:04
本帖最后由 ajun2019 于 2022-5-30 21:58 编辑

今天同样是小白破解cm的文章。但是同时还想分享一些关于OD的知识。

关于破解的教程,其实论坛里面有很多的了,我们在破解软件时候其实都离不开一个工具 就是OD,相信大家都很熟悉吧?


image.png


可以对比看下 自己电脑里面的OD 是不是这四个?那么它们分别有什么关系和作用呢?
先来看cpu  当大家载入软件时候,你会发现很多代码反汇编还有机器码在里面疯狂展现,光标从上到下跑,没错,CPU在运算执行命令。




比如在对比真假注册码时候,CPU能计算出来真码是多少,但是想要跟你输入的注册码对比真假,还需要寄存器FPU的帮助,比如先把假码放入寄存器EAX,然后CPU自己去计算出来真码,最后再到FPU里面拿出假码来一比较,欧耶!
总结,CPU就是大脑运算,FPU就是寄存器。



最有意思的就是堆栈,我觉得它也是寄存的功能,它具体功能我还没搞懂,请大牛指教!

-----------------------------------------
上面我讲了一堆,到底是为什么呢?


因为今天分享的这个cm的破解,跟普通的不太一样,我们来看下。OD载入。运行起来。




image.png




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


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




这个作者就很有意思了。因为他利用了大家破解的思维惯性! 什么意思呢?大家想一下,咱们小白在破解的时候,会搜索字符串,还会下F12断点,就是为了能在错误提示的地方停留下来,然后在它的上面找关键跳,绕开错误,跳向正确。对不对??但是你来看看,这个代码,正确和错误都在一起,而且根本没有关键跳能跳开,即使你修改了错误提示的窗体也一样错误。说明其实这里根本就是一个迷魂阵!真正算注册码的地方根本不在这里!


上面我讲的那个例子,大多数软件计算和对比真假码时候,流程就是CPU先把你输入的假码寄放在FPU,然后CPU腾出手来算出来真码,最后再从FPU取出假码,整个过程都是在CPU的线程里面对比完成的。如下图所示:
image.png


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




看懂上面的以后,再来分析这个软件的破解方法。
image.png
image.png
注意到上图中那个push的了吗?它push 压栈了一个地址00401495,Ctrl+G来到这个地址看下。
image.png
注意这个call,跟随进去看下,你会看到 注册码的算法。
image.png


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


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


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




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


()CrackMe.zip (264.56 KB, 下载次数: 96)








免费评分

参与人数 12吾爱币 +16 热心值 +12 收起 理由
chen1860906 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
Hmily + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
小菜鸟一枚 + 1 + 1 如何知道push的那一个就是关键函数,没明白
笙若 + 1 + 1 谢谢@Thanks!
bailemenmlbj + 1 + 1 谢谢@Thanks!
lijiaxian + 1 + 1 谢谢@Thanks!
ilpj + 1 谢谢@Thanks!
woyucheng + 1 + 1 谢谢@Thanks!
那爱属于我 + 1 + 1 谢谢@Thanks!
bjxiaoyao + 2 + 1 我很赞同!
xiaoyu2032 + 1 + 1 用心讨论,共获提升!
q105277951 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ajun2019 发表于 2022-6-1 19:58
看到有人说怎么找push,还有人说这是海底捞针。我觉得,这只能说明一个问题,就是他们根本没有去跑过这个程序,只有跑过这个程序,这段代码的人,他们才知道为什么会是这个push,这个call。

当然,我也可以给个答案!那就是push根本不是最重要的,算法call的位置才是!
头像被屏蔽
tyz1234 发表于 2022-6-1 11:56
okldh 发表于 2022-5-30 22:20
taxuewuhen 发表于 2022-5-30 22:25
多谢分享 看看
wksh 发表于 2022-5-30 22:49
大师,说话简洁易懂
狼灭大帝 发表于 2022-5-31 01:35
学到啦,大佬好人
头像被屏蔽
tyz1234 发表于 2022-5-31 06:11
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
wanlinwo 发表于 2022-5-31 07:41
提示: 作者被禁止或删除 内容自动屏蔽
ilpj 发表于 2022-5-31 08:14
学习啦,谢谢大老分享
跑得快有糖吃 发表于 2022-5-31 08:35
大神就是大神,学习啦,感谢楼主
shaokui123 发表于 2022-5-31 08:40
这个大佬的风格和玩玩破解类似,通俗易懂,但是还是有些地方没讲细
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 10:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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