N0zoM1z0/osu-reverse-engineering
GitHub: N0zoM1z0/osu-reverse-engineering
针对 osu!mania 的逆向工程研究仓库,提供谱面解析、Auto 帧生成及进程内实时 agent 的原创工具与工程笔记。
Stars: 0 | Forks: 0
# osu! 逆向工程
针对特定 osu! ruleset 的逆向工程笔记、可复现实验以及原创工具。本仓库按 ruleset 进行组织,以便后续的工作可以与 mania 并存,而不会混淆不兼容的解析器、runtime 目标或验证证据。
本仓库仅包含原创源代码、小型合成测试数据、文档以及由这些源代码生成的构建产物。它不包含 osu! 二进制文件、完整的反编译输出、用户配置、回放文件、日志、本地安装的 beatmap 或提取的游戏资产。请仅将这些工具用于您被允许检查的软件和 beatmap。
## 目录
```
mania/
ManiaAuto/ readable .NET 8 parser and reference models
InProcess/ CLR v4 loader, live Player-mode agent, tests, scripts
artifacts/inprocess/ core net40 loader/plugin binaries and checksums
reverse/analysis/ curated reverse-engineering notes
reverse/scripts/ reproducible ILSpy entry point
BLOG.md end-to-end engineering narrative
```
## Mania
mania 模块最初旨在复现 osu!stable 原生的 Auto 回放帧生成器,随后转向了另一种架构:一个进程内 agent,它保持在普通的 Player 模式下,读取游戏过程中的歌曲时钟,并通过常规输入路径发出真实的 scan-code 按键转换。
当前的 v0.5.0 研究 build 包含:
- 原生 Mode 3 `.osu` 解析与 lane 映射;
- 针对 taps、长音、chord 以及重叠 lane 状态的精确 Auto 帧生成;
- 用于一个已分析的 osu!stable build 的哈希锁定 CLR v4 `AppDomainManager` bootstrap;
- 在使用 runtime 字段之前进行的 metadata-token 与 IL 结构验证;
- 由内部歌曲时钟驱动的普通输入执行器;
- 一个自有的、无需激活的 WinForms control overlay;
- 基于恢复的 mania 判定窗口的关联计时、rush bursts、帧节奏、疲劳、手指故障以及受控的 200/100 混合;
- 确定性合成测试与全图一致性校验脚本。
请从 [mania 模块 README](mania/README.md) 开始阅读,然后在[从混淆的托管代码构建实时 osu!mania Agent](mania/BLOG.md)中阅读完整的工程实现细节。
## 仓库政策
- 此处不分发任何游戏可执行文件或专有依赖项。
- 不会提交任何完整的 ILSpy/反编译工具树;仅保留精简的发现和伪代码。
- 公开代码树中不包含任何特定于用户的路径、用户名、进程 ID、账户数据、日志或 beatmap 收集。
- Runtime metadata token 仅对已记录的可执行文件指纹有效。任何不匹配都会被视为严重失败,而不是兼容性猜测。
## 许可证
本仓库中的原创代码和文档基于 [MIT 许可证](LICENSE)提供。
研究中提及的第三方产品名称及其描述的行为仍归其各自所有者所有。
标签:云资产清单, 游戏外挂, 游戏自动化, 网络调试, 自动化, 逆向工程