Fall in love with Crypto / 爱上加密!
本帖最后由 爱飞的猫 于 2023-8-5 06:37 编辑■ 语言:C++
■ 平台:
■ Win7 x64 (或更高) - MFC 窗口界面
■ XP 32 位 (命令行; 用户名限制在 GBK 字符集支持的文字)
■ Linux x86-64 (命令行)
■ 加壳:没有,你直接查找字符串引用就能找到他们 (*^_^*)
```text
Fall in love with Crypto / 爱上加密!
===============================================
前段时间看了下加密相关的内容,于是自己也想了一个比较简陋的方案。
目标:
★☆☆☆☆直接爆破吧~ 要求不使用内存补丁等逃课方法
★★☆☆☆逆向序列号编码过程,编写对应编码、解码代码
★★★☆☆寻找出里面所使用的加密算法
★★★★☆逆向并理解序列号校验过程
★★★★★根据序列号校验过程逆向编写算法注册机(抠代码 OK)。
文件:
- Fall in love with Crypto.exe
Windows 11 下编译的 64 位版本。
- Fall in love with Crypto.x86-64
Linux x86-64 下使用的静态编译版本,使用终端启动。
※ 两者使用的序列号校验算法是一样的。
示例:
- [吾爱破解] 爱飞的猫@52pojie.cn
35MWVEBY-X3XGFECP-3TTSH8SQ-W6PY8QVK-TFKNK76B-8HGYSC22-VAA20000
622CX23G-MWYLYVFC-4M7E5XAP-8MMUHBKZ-LDDMK8LG-N9WF6MZ8-VGHJ0000
碎碎念:
Linux 版本使用 gcc 编译,虽然没有混淆,但是产出的代码是真的难读。
MSVC 相比之下生成的代码更干净。
不过有点怪的是,MSVC 的迭代器竟然还会检查越界,相比之下 gcc
的迭代器实现只是一个指针,也没有什么检查。
爱飞的猫 @吾爱破解
2023, 秋
<-EOF->
```
主程序
主界面
成功截图
Ubuntu 下截图
※ 不使用内存补丁等逃课方法:需要将更改直接打到可执行文件上,不另外产生 EXE 补丁文件或 DLL 劫持文件等方法。授权用户信息和授权版本应正常显示。(提示:补数据)
---
用 mingw 编译了个 32 位版本,可以在 XP 下运行,但是只有命令行交互,且用户名限制在 GBK 字符集中的字符:
不明觉厉 x64dbg找到关键跳转,patch补丁直接保存出现错误提示,且保存文件无效
换一种思路:在关键跳转处复制文件偏移,转到010 editor,定位文件偏移,修改字节码,保存文件
woflant 发表于 2023-8-5 21:04
x64dbg找到关键跳转,patch补丁直接保存出现错误提示,且保存文件无效
换一种思路:在关键跳转处复制文 ...
怪,我没做反调试… 不明白为什么直接保存会挂掉
要不要试试补数据,让下面的信息能正常显示? 爱飞的猫 发表于 2023-8-5 21:23
怪,我没做反调试… 不明白为什么直接保存会挂掉
要不要试试补数据,让下面的信息能正常显示?
错误提示是啥静态文件加载失败,应该是调试器的bug
只会点简单爆破,补数据难度有点大{:301_1004:} situhaonan 发表于 2023-8-6 13:18
你这是直接跳到显示信息框的地方了啊… 有点逃课的感觉哦 爱飞的猫 发表于 2023-8-6 17:52
你这是直接跳到显示信息框的地方了啊… 有点逃课的感觉哦
用HEX直接NOP掉,这行代码即可。 woflant 发表于 2023-8-5 21:04
x64dbg找到关键跳转,patch补丁直接保存出现错误提示,且保存文件无效
换一种思路:在关键跳转处复制文 ...
这种爆破模式学习到了。patch补丁出错应该是patch错地方了,静态文件提示的是dll?还是什么?
页:
[1]