挑战文件的官网下载链接: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(注册码生成器)