案例
Touhou 6:重建东方红魔乡 1.02h 版源码
为 Touhou 6:东方红魔乡 1.02h 版的 Windows 可执行文件重建 C++ 源码,目标是用原版 Visual Studio .NET 2002 与 DirectX 8 工具链精确重新构建。reccmp 和 objdiff 将重建的二进制与使用者自备的原可执行文件逐函数比较。仓库内的进度徽章报告函数已全部实现、字节准确率为 98.03%,因此不主张整个二进制完全一致。
使用条件与局限
- README 表明目标是完美重建 1.02h 版源码;仓库内可变的进度徽章报告 TH06.EXE 已 100.0% 实现、字节准确率 98.03%。README 另指向用于 Linux 和新版 Windows 的独立 portable 分支,本条目不涵盖该分支。团队的 Ghidra 成果以 XML 形式导出到配套仓库 happyhavoc/th06-re。
- 需自备与 README 中 SHA-256 一致的原版 1.02h 东方紅魔郷.exe,并复制为 resources/th06.exe;reccmp 校验同一哈希,构建也会从该文件提取游戏图标。仓库不含游戏可执行文件或数据;比较工作流通过机密配置的 URL 获取原始二进制。
- 构建需要 Python 3.4 及以上;非 Windows 平台还需 msiextract 和 Wine(macOS 建议使用 CrossOver);aria2c 为可选。scripts/create_devenv.py 从网络存档下载 Visual Studio .NET 2002 和 DirectX 8.0 SDK,并获取 ninja、objdiff、Ghidra 等辅助工具;scripts/build.py 生成并运行 ninja 构建。
- 贡献者使用 reccmp 比较差异,它以 HTML 报告给出重建可执行文件相对原文件的逐函数准确率。CI 在 Windows 上构建,并将 objdiff 构建与通过 Ghidra 从原文件拆出的目标文件比较;一套小型 munit 测试会读取使用者的游戏资源包。徽章数字由项目生成,本合集未进行任何构建或比较。
- 仓库以 CC0 1.0 释出;原游戏、下载的 Microsoft 工具链及第三方工具各有条款。所审来源未确立 AI 或 REA 使用归因,也不主张运行复现。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · GensokyoClub/th06 · 修订 e840ab4
- reccmp-project.yml GitHub · GensokyoClub/th06 · 修订 e840ab4
- resources/progress.svg GitHub · GensokyoClub/th06 · 修订 e840ab4
- scripts/create_devenv.py GitHub · GensokyoClub/th06 · 修订 e840ab4
- scripts/build.py GitHub · GensokyoClub/th06 · 修订 e840ab4
- scripts/extract_icon.py GitHub · GensokyoClub/th06 · 修订 e840ab4
- .github/workflows/ci.yml GitHub · GensokyoClub/th06 · 修订 e840ab4
- .github/workflows/compare.yml GitHub · GensokyoClub/th06 · 修订 e840ab4
- tests/test_Pbg3Archive.cpp GitHub · GensokyoClub/th06 · 修订 e840ab4
- LICENSE GitHub · GensokyoClub/th06 · 修订 e840ab4