lalicorne 发表于 2023-3-22 20:50

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

我们需要下载两个文件来完成这个挑战,一个是crackme文件,另一个是反汇编的工具(可以使用自己喜欢的软件)

挑战文件的官网下载链接:https://crackmes.one/crackme/5ab77f5633c5d40ad448c2f2

教程中使用的工具为x64dbg,这是一款开源的软件,官方下载地址为:https://x64dbg.com/

百度网盘下载链接:

链接:https://pan.baidu.com/s/1JCeCsgjoa0QkMAEtdqqLYw?pwd=52pj
提取码:52pj

这个挑战需要逆向修改软件的源码来获得证书(license)以登录软件。

破解思路:将程序反编译并且修改源码以跳过验证步骤直接登录。

打开“LaFarge's crackme”软件之后可以看到下面这个界面(记得以管理员的身份运行软件),我们可以填写一下信息查看一下:



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



这个不能忍,必须要破解它!

为了可以将二进制码转换成为汇编语言,我们需要使用一种反汇编的工具(disassembler)

教程中使用的工具为x64dbg,这是一款开源的软件,官方下载地址为:https://x64dbg.com/

本教程使用的是目前最新的版本:(https://sourceforge.net/projects/x64dbg/files/snapshots/snapshot_2023-03-04_02-26.zip/download)

打开解压文件夹中的exe文件之后选择x32dbg,打开之后的界面如下:



为了方便查看可以将软件调至浅色模式:点击Options->Theme->Default

随后将crackme.exe拖拽到x32dbg软件内会自动进行反编译,完成之后的界面如下:



主界面为汇编代码,是计算机指令的列表,在“Hide FPU”界面下的是寄存器,用于储存数据,底部的两个窗口为程序的内存。

我们想要做的是改变程序以获得登录许可,如果我们的登录并不符合要求会得到如下的提示:



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



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


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


`004012A6 | E8 E5000000            | call <JMP.&GetDlgItemTextA>             |`
`004012AB | 68 49654000            | push crackme.406549                     |`
`004012B0 | 68 49694000            | push crackme.406949                     |`
`004012B5 | E8 36010000            | call <JMP.&lstrcmpA>                  |`

以上代码中做的是将记忆点406549与记忆点406949进行比较以确认输入的注册码是否与我们输入的注册码一致。如果一致的话,我们就可以成功登录进软件,如果不一致的话,我们就会得到一个错误窗口。

我们可以做的是让程序直接跳到让我们进入的指令,具体的修改方法为:
将jne如果不等于就跳转(Jump if not equal)改为jmp总是跳转(Jump),右键选中的代码点击“Assemble”进行修改。


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



然后我们可以保存修改之后的代码,也就是我们成功破解的软件尝试进行登录!!!

右键点击“Patches”或者"Ctrl+P"保存更改:



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

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



然后进行测试!



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



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

CAzhu123 发表于 2023-3-23 17:13

我可以催更吗?

fzh519 发表于 2023-3-24 00:44

论坛又来一大神么。这不是刚刚注册的号么。。我也下载来试试看。跟着教程慢慢玩。

jsncy 发表于 2023-3-24 09:20

谢谢,有用。

xiayusammr 发表于 2023-3-24 10:13

虽然看不懂,但是不代表我以后看不懂吧。。。。

Nianyu 发表于 2023-3-24 13:32

感谢楼主分享教程

BAB31 发表于 2023-3-24 13:45

这个好棒!简明易懂!谢谢大大

myconan 发表于 2023-3-24 16:07

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


那么以后启动都是点击这个比较皮的名字启动软件吗???

nitian0963 发表于 2023-3-24 16:33


学习,感谢楼主分享

lalicorne 发表于 2023-3-24 17:11

myconan 发表于 2023-3-24 16:07
然后起一个比较皮的名字进行保存




对的,运行新保存的程序。我们修改的代码是打包保存到这个名字比较皮的程序里面的。
页: [1] 2
查看完整版本: 【新手向】在win11系统一行代码解决Lafarge的crackme挑战