CrackMe3 混合编程 带自校验 较难
特点:1. 程序有自校验;
2. 软件有联网行为,因为设计了网络验证(不验证证书,形同虚设);
3. 多文件,由多种语言编写;
4. 使用了密码学对称算法;
5. 部分文件加了 UPX 壳(加不加没用其实);
6. 程序打开较长时间后,无论注册码正确与否都会显示注册失败。
注册信息:
用户名:XIAOBAISHU
注册码:ETSQVVYWFD
题目要求(任选其一):
1. 爆破;
2. 生成一组新 Key 或写出注册机。
本帖最后由 xqyqx 于 2023-1-30 22:47 编辑
修改点(machine.dll,懒得脱壳了,直接改内存):
原:
5DD617E7 - 0F84 16020000 - je 5DD61A03
改为:
5DD617E7 - 0F84 16020000 - jmp 5DD61A03
正确弹窗:
5DD61A61 - 6A 00 - push 00
5DD61A63 - 68 5841D65D - push 5DD64158
5DD61A68 - 68 7841D65D - push 5DD64178
5DD61A6D - 6A 00 - push 00
5DD61A6F - FF 15 3840D65D - call dword ptr
5DD61A75 - C6 44 24 17 00 - mov byte ptr ,00
错误弹窗:
5DD619E8 - 6A 10 - push 10
5DD619EA - 68 5841D65D - push 5DD64158
5DD619EF - 68 6041D65D - push 5DD64160
5DD619F4 - 6A 00 - push 00
5DD619F6 - FF 15 3840D65D - call dword ptr
5DD619FC - C6 44 24 17 01 - mov byte ptr ,01
关键函数(绿色为正确弹窗,红色为错误弹窗)(直接给图片链接了,论坛预渲染会导致网页卡顿):
https://xqy2006.github.io/store/machine.passArgToCpp.PNG
xqyqx 发表于 2023-1-30 21:44
修改点(machine.dll,懒得脱壳了,直接改内存):
原:
5DD617E7 - 0F84 16020 ...
那可否分析一下 resources.dll 的内容?(虽然内存爆破可以无视自校验) 本帖最后由 yujian1991 于 2023-1-31 15:10 编辑
点击注册按钮后exe将用户名和注册码作为两个参数传给了resources.dll唯一的导出函数。
resources.dll易语言写的,分别校验了每个文件的sha-512,resources.dll自身的哈希值从https://purplesight.***.io/CrackMe/CrackMe3.txt该链接获取:
<resources.dll>8ed74ce70c1472ed6e78087e364633b062519055b01890284368c5feceab10b3bd9c95102fd36c35cac0d1a84f470ee51ddd98a65966131af192814ce2dc46ed</resources.dll>
校验通过后把两个参数直接传给machine.dll的passArgToCpp函数
能直接看到真码,算法就懒得分析了
内存中有真码,跟一跟就好了!
页:
[1]