BESINAPERICULOASA/moneybot-2018-preservation
GitHub: BESINAPERICULOASA/moneybot-2018-preservation
该项目对2018年CS:GO作弊程序的内存dump进行静态去混淆和逆向分析,提供可重复的解析工具与结构化分析笔记供安全研究使用。
Stars: 0 | Forks: 0
# moneybot 2018 保存项目
针对 2018 年时期提取的 CS:GO 作弊程序谱系的静态逆向工程笔记和去混淆工具。本代码库是一个保存和分析项目:它记录了一个早已逝去的场景产物,重构了其混淆机制的工作原理,并提供了足够的机器可读元数据,以便未来的研究人员能够在不重新分发可用程序包的情况下检查该 dump。
## 包含的内容
| 路径 | 用途 |
|---|---|
| `scripts/deobfuscate_moneybot.py` | 用于转储地址 call/jmp 混淆的可移植 Python 解析器。 |
| `docs/findings.md` | 主要保存文档:loader 布局、WOW64 问题、OEP 链、云端笔记、崩溃假设。 |
| `docs/reports/deobfuscation-report.md` | 生成的去混淆摘要。 |
| `data/resolved_sites.csv` | 已解析的混淆 call/jmp 表条目。 |
| `data/network_sites.csv` | 从 `resolved_sites.csv` 提取的直接与 Winsock 相关的位置。 |
| `data/ret_trampolines.csv` | 用于在外部工具中过滤的广泛内部 ret-trampoline 扫描结果。 |
| `tools/ida/moneybot_deobf_ida.py` | 为已解析位置和有上限的 ret-trampoline 交叉引用生成的 IDAPython 注释脚本。 |
| `moneybot/obfuscated_*.h` | 解析器使用的历史混淆位置表。 |
| `moneybot/modules/*.h` | 转储的 Windows 导出地址元数据,用作解析器 oracle。 |
## 当前去混淆状态
解析器目前已确认:
- `1910/1910` 个混淆 call 位置已解析
- `184/184` 个混淆 jmp 位置已解析
- `105533/105543` 个广泛的内部 ret-trampoline 候选已解析
- `12` 个直接的 Winsock 导入位置已识别
这足以用于围绕导入、网络/文件/内存 API 使用以及补丁规划进行 AI 辅助和人工辅助的漏洞分类。这并不是完整的源代码恢复。您可以将其视为一个注释/反编译器支持层:它将算术 trampoline 转换为具体的调用目标,从而使反汇编器变得可读。
## 直接网络暴露面
直接的 Winsock 暴露面目前解析为:
- `hack22`: `WSAStartup`、`socket`、`htons`、`inet_pton`、`connect`
- `hack81`: `send`、`recv`
- `hack114`: `recv`
有关确切的地址和转换范围,请参见 `data/network_sites.csv`。
## 运行解析器
该脚本需要 Python 3.11+,且仅使用标准库。
```
python scripts\deobfuscate_moneybot.py --dump-dir C:\moneybot
```
dump 目录不包含在内。如果您拥有合法的存档副本,它应包含类似以下命名的文件:
```
hack249_0x7fff0000_0x1a76000.bin
```
输出默认写入 `deobfuscated/` 目录。
## 公开发行边界
本代码库保存的是分析和元数据,而不是可用的作弊程序包。
请不要提交包含以下内容的 PR:
- 编译后的 `.dll`、`.exe`、`.pdb`、`.lib`、`.obj` 或构建输出
- dump 归档或原始内存区域的 `.bin` 文件
- 注入工具
- Steam/游戏二进制文件或打过补丁的游戏可执行文件
- 密钥、token、私有 endpoint 或账户资料
- 在实际游戏环境中部署此程序的说明
## 许可证
原始的第三方代码和历史产物名称的版权仍归其各自的作者所有。本代码库中的新文档和 Python 工具采用 `LICENSE` 中的 MIT 许可证提供。
标签:DAST, IDAPython, Python, 云安全监控, 云资产清单, 去混淆, 恶意软件分析, 无后门, 逆向工程, 静态分析