关于小生我怕怕第六课的一个CrackMe的破解
大家好 我是wasdzjh 好久没做教程了,前几天也是看到了论坛一个帖子,有一个朋友寻求这个CrackMe的一个破解过程,抽点时间做一个教程。分享一下,大家一起交流进步。破解工具:论坛的odpeid0.95(查壳工具)
目标软件:CRACKME.exe
达到目的:形成自己破解的一种思维或者方法(直接点注册就可以成功)
--------------------------------------------------------------------------------教程开始-----------------------------------------------------------------------------------------------------------------
第一步:获取软件的关键信息(点击软件的注册,登录 看软件提示什么错误消息,打开记事本记录下来)
错误消息:注册失败要继续努力哦如图:
第二步:开始查壳 将软件拖入peid0.95 即可看到什么壳子 经过查看是没有壳子的,如果有大家还得脱壳。如图:
第三步:开始分析 将软件拖入od开始查找ASCII码 搜索字符串(前面提到了错误信息 直接搜索 看可以找到吗 如果作者隐藏了字符串那就搜索不到了)
选取第一行 右键--中文搜索引擎--搜索ASCII--查找(cttl+f )--输入(注册失败要继续加油哦!)查找不到 因为作者隐藏了 如图:
第四步:下断点消息框(BPMessageBoxA)如图:
第五步:开始分析代码走向点击运行(F9 )运行程序 输入 用户名 注册码 点击注册 看程序在哪里停止 段下来 如图:
我们之后一步一步往下走开始分析 关键代码可以f7进入,f8步过分析
一直F8 步过会出现如下图:看图片里面的文字描述,之后还会看到注册失败如图:
我们要绕过去不要让程序走到这些位置,想到之前的三个je跳转,有两个跳转一样是跳到判断为空的位置,剩下一个就可以改改跳转将je改为无条件跳转的jmp看看会有什么效果
将00402B19 的je改为jmp 操作:选中00402B19 这行 按空格键 将je改为jmp 点击汇编即可,如图:
后面如果看到jnz(不为0则跳转)我们将其改为jmp无条件跳转 我们反着来就可以。如图:
只要将00402F3A 0040305E 00403195 三个位置的jnz 改成jmp 就可以完成破解 如图:
随后我们将修改后的软件保存操作:选取区域--右键--复制到可执行文件--所有修改--全部复制 如图:
已经成功保存文件了 现在打开看下效果如何:
这个就是一个简单的破解,算法什么的我技术有限,分析不出来。希望大家可以通过我的小破文学习一些有用的知识,给点热心值的都可以。不给也行。大家一起进步。没有看懂的操作也可以留言,我会一一回复。希望大家在吾爱破解都可以学到东西。感谢大家。软件我也会上传大家去研究。 syl7388 发表于 2022-4-18 12:40
一路F8,没走几步就不动了。除了直接跳转外,要怎么才能自己走到004032E1,我还是不明白!
我给你的图片你看你能看懂吗?按照我上面的操作,你按就可以了。不会在问我,到达004032E1这个位置,你就可以往上面找00402A50这个位置之后F2断点就行。 wasdzjh 发表于 2022-4-18 13:24
我给你的图片你看你能看懂吗?按照我上面的操作,你按就可以了。不会在问我,到达004032E1这个位置,你就 ...
谢谢,知道原因了。真是不好意思,原来是因为那个错误对话框弹出来后,没有显示在最前面。所以才运行不下去。
另外,问下,你后面那F8等字样,是怎样才会显示在那。是ps上去吗 学到了,先来收藏一波{:1_893:} 支持一波,学习 入门学习中 这个可以破C++写得吗 讲得很细,学到了! atxz 发表于 2022-4-16 19:00
这个可以破C++写得吗
论坛的od可以破解c++写的。 学习吧!现在唯有52论坛是我上网的理由 思路清晰值得学习!