MoriartyPuth-Labs/Crackmes-WriteUp
GitHub: MoriartyPuth-Labs/Crackmes-WriteUp
收集并整理了 crackmes.one 上多个逆向工程挑战的完整解题 Writeup,包含 PoC 代码、复现步骤和工具使用说明。
Stars: 1 | Forks: 0
# Crackmes Writeups
包含概念验证代码、复现步骤和工具说明的完整 Writeup。
## 挑战解决方案
| 挑战名称 | 类别 | Flag / 解决方案 |
| :--- | :--- | :--- |
| [Bob的赌博 Crackme](labs/Bobs-Gambling-Lab) | Windows PE / Integer Overflow | `dzctf(bob_is_free_1337)` |
| [轮盘模拟器](labs/Roullete-Simulator-Lab) | Java / PRNG Prediction | PRNG Seed Prediction & Wallet Overflow |
| [ChocolateFactory](labs/Willy-Wonka-Chocolate-Factory-Lab) | Windows PE / Constraint Solving | `Ch0c-M1lk-CrMe-!(L>` |
| [MalwareTech VM1](labs/MalwareTech-VM1-Lab) | Custom VM / Static Analysis | `FLAG{VIRTUAL-MACHINE-UNDERSTANDING}` |
| [CryMore](labs/CryMore-Lab) | Network Spoofing / Killswitch Bypass | Local TCP Spoofing (`HTTP/1.1 200 OK`) |
| [炼金术士之锁](labs/The-Alchemist-Lock-Lab) | Packer Unpacking / Binary Patching | OEP Finding & Jump Patch (`FLAG_R3v3rs3d`) |
| [Catgirl Crackme](labs/Catgirl.crack-Lab) | .NET Assembly / IL Disassembly | `Mint` (Decoy Bypass) |
每个文件夹都包含一份独立的 README.md Writeup,以及一个可运行的解题脚本或详细步骤。
```
labs/
├── Bobs-Gambling-Lab/
│ ├── README.md
│ └── bob_gambling_writeup.txt
├── Roullete-Simulator-Lab/
│ ├── README.md
│ ├── crackme_helper.py
│ └── solution.txt
├── Willy-Wonka-Chocolate-Factory-Lab/
│ ├── README.md
│ └── ChocolateFactory_writeup.txt
├── MalwareTech-VM1-Lab/
│ ├── README.md
│ └── solver.py
├── CryMore-Lab/
│ └── README.md
├── The-Alchemist-Lock-Lab/
│ └── README.md
└── Catgirl.crack-Lab/
└── README.md
```
## 使用的工具
- 反汇编 / 反编译:IDA Pro、Ghidra、monodis (Mono IL Disassembler)、Detect-It-Easy、x64dbg (配合 Scylla)
- Python 3:模拟器与解题脚本、keygen、自定义 PRNG 预测模拟器
- 平台:Windows (x86/x64) 和 Linux/Mono runtime
- 网络工具:Netcat (本地 TCP 欺骗)
## 经验 / 总结
- **Bob的赌博 Crackme** — Windows 控制台二进制程序;通过滥用投注检查内部的 integer overflow / underflow 逻辑解决。
- **轮盘模拟器** — Java 类二进制程序;通过从约 20 次投注中暴力破解 16 位的 PRNG seed 来预测输赢,并使钱包余额溢出。
- **ChocolateFactory** — 64 位 Windows 控制台二进制程序;通过重建多阶段验证算法并进行 constraint solving 解决。
- **MalwareTech VM1** — 8 位自定义 Virtual Machine 分析;通过提取原始内存 bytecode (`ram.bin`) 并编写 Python VM 模拟器来逆向 XOR key 逻辑解决。
- **CryMore** — 基于 TCP 的 killswitch 分析;通过使用 Netcat 建立本地 TCP socket 来伪造预期的响应 (`200 OK`) 并中和相应的逻辑路径解决。
- **炼金术士之锁** — UPX/自定义 packer 分析;通过在 x64dbg 中进行动态脱壳,利用 Scylla dump 出 OEP,并对验证检查进行 binary patching 解决。
- **Catgirl Crackme** — .NET assembly 逆向;通过使用 Mono 的 `monodis` 工具进行静态 IL disassembly 来识别正确的验证字符串,同时绕过诱饵字符串解决。
## 👤 作者
**MoriartyPuth** — Offensive Security

标签:DNS 反向解析, Go语言工具, Python, Windows PE, 二进制分析, 云安全运维, 云资产清单, 子域名变形, 无后门, 逆向工程