【新手向】在win11系统一行代码解决Lafarge的crackme挑战

查看 55|回复 3
作者:lalicorne   
我们需要下载两个文件来完成这个挑战,一个是crackme文件,另一个是反汇编的工具(可以使用自己喜欢的软件)
挑战文件的官网下载链接:https://crackmes.one/crackme/5ab77f5633c5d40ad448c2f2
教程中使用的工具为x64dbg,这是一款开源的软件,官方下载地址为:https://x64dbg.com/
百度网盘下载链接:
链接:https://pan.baidu.com/s/1JCeCsgjoa0QkMAEtdqqLYw?pwd=52pj
提取码:52pj
这个挑战需要逆向修改软件的源码来获得证书(license)以登录软件。
破解思路:将程序反编译并且修改源码以跳过验证步骤直接登录。
打开“LaFarge's crackme”软件之后可以看到下面这个界面(记得以管理员的身份运行软件),我们可以填写一下信息查看一下:


Screenshot 2023-03-22 134148.png (70.05 KB, 下载次数: 0)
下载附件
2023-3-22 20:36 上传

点击“Check it!”进行验证,得到了下面的弹框:


Screenshot 2023-03-22 134259.png (55.29 KB, 下载次数: 0)
下载附件
2023-3-22 20:36 上传

这个不能忍,必须要破解它!
为了可以将二进制码转换成为汇编语言,我们需要使用一种反汇编的工具(disassembler)
教程中使用的工具为x64dbg,这是一款开源的软件,官方下载地址为:https://x64dbg.com/
本教程使用的是目前最新的版本:snapshot_2023-03-04_02-26.zip
打开解压文件夹中的exe文件之后选择x32dbg,打开之后的界面如下:


Screenshot 2023-03-22 124814.png (64.44 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

为了方便查看可以将软件调至浅色模式:点击Options->Theme->Default
随后将crackme.exe拖拽到x32dbg软件内会自动进行反编译,完成之后的界面如下:


Screenshot 2023-03-22 125324.png (19.51 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传



Screenshot 2023-03-22 125424.png (271.54 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

主界面为汇编代码,是计算机指令的列表,在“Hide FPU”界面下的是寄存器,用于储存数据,底部的两个窗口为程序的内存。
我们想要做的是改变程序以获得登录许可,如果我们的登录并不符合要求会得到如下的提示:


Screenshot 2023-03-22 130335.png (60.6 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

像是正己大佬做的安卓逆向破解思路一样,我们可以尝试搜索弹出提示框内的字符串以定位源码位置,在界面内右键找到搜索字符串的选项:


Screenshot 2023-03-22 130723.png (302.49 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

完成搜索之后,我们找到了提示框内的字符串:


Screenshot 2023-03-22 130950.png (214.75 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

之后右键选中的字符串点击“Follow in Disassembler”以找出在程序中的位置:


Screenshot 2023-03-22 131415.png (120.85 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

004012A6 | E8 E5000000              | call              |
004012AB | 68 49654000              | push crackme.406549                     |
004012B0 | 68 49694000              | push crackme.406949                     |
004012B5 | E8 36010000              | call                     |
以上代码中做的是将记忆点406549与记忆点406949进行比较以确认输入的注册码是否与我们输入的注册码一致。如果一致的话,我们就可以成功登录进软件,如果不一致的话,我们就会得到一个错误窗口。
我们可以做的是让程序直接跳到让我们进入的指令,具体的修改方法为:
将jne如果不等于就跳转(Jump if not equal)改为jmp总是跳转(Jump),右键选中的代码点击“Assemble”进行修改。


Screenshot 2023-03-22 132634.png (311.7 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

因为登录成功的提示为代码下面一行的0x004012BE,所以我们让它直接跳到下面的这一行,具体的修改如下图:


Screenshot 2023-03-22 133150.png (104.09 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

然后我们可以保存修改之后的代码,也就是我们成功破解的软件尝试进行登录!!!
右键点击“Patches”或者"Ctrl+P"保存更改:


Screenshot 2023-03-22 133416.png (321.3 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

然后起一个比较皮的名字进行保存:


Screenshot 2023-03-22 133655.png (42.4 KB, 下载次数: 0)
下载附件
2023-3-22 20:35 上传

出现这个提示就说明保存成功了:


Screenshot 2023-03-22 133754.png (335 KB, 下载次数: 0)
下载附件
2023-3-22 20:36 上传

然后进行测试!


Screenshot 2023-03-22 133958.png (70.92 KB, 下载次数: 0)
下载附件
2023-3-22 20:36 上传

然后出现这个提示说明我们破解成功!


Screenshot 2023-03-22 134026.png (50.91 KB, 下载次数: 0)
下载附件
2023-3-22 20:36 上传

之后会更新怎么写出这个挑战的下一部分--Keygen(注册码生成器)

下载次数, 下载附件

CAzhu123   

我可以催更吗?
xuanyu12345   

这个教程非常好,学习了
shenji5   

是个好东西 谢谢
您需要登录后才可以回帖 登录 | 立即注册

返回顶部