案例
Ratchet & Clank:记录了代理流程的 PS2 一致性反编译
为 2002 年《Ratchet & Clank》PlayStation 2 欧版 v2.00 可执行文件 SCES_509.16 重建 C 源码,每个函数都链接在零售版的原地址。尚未反编译的函数仍由从使用者自备可执行文件生成的反汇编构建,构建会对照零售版审核函数、布局和整个映像。项目记录了由 LLM 代理执行匹配的流程,并以成文的构建保真规则界定何为匹配。
使用条件与局限
- README 将其描述为 OpenRAC 计划中针对 SCES_509.16(欧版 v2.00)的进行中一致性反编译;已匹配的代码会进一步重构为可读的 C++,并以一致构建作为回归测试。BUILD_FIDELITY.md 记录截至 2026-10-07 已匹配 3,591 个函数,实时进度发布在 openrac.dev 和 bytematch.dev 上。仓库简介把原生 PC 重新实现列为后续目标;本仓库不包含任何移植。
- 仓库不含游戏素材、零售版可执行文件或反汇编。使用者需从自有光盘镜像提供 SCES_509.16,并按 README 和 LEGAL.md 中的 SHA-1 校验,tools/setup_asm.sh 会在本地生成反汇编。LEGAL.md 指出,未自行拥有并转储游戏副本的人无法用本仓库构建出可运行的游戏。致谢中的同类项目(如 Lombyte 美版反编译和 ReRAC PC 移植)只是参考,不在本记录范围内。
- Linux 和 macOS 构建在 Docker 或 Podman 下的预构建 Wine 容器中运行;Windows 构建使用 Git Bash 和 Python 3.10+ 原生进行,仓库路径须保持简短。两种方式都需克隆 SN Systems ProDG for PS2 3.01 和 SCE PS2 SDK 2.4 的社区镜像。游戏代码使用 ProDG GCC 2.95.3 编译,Sony SDK 目标文件使用 EE-GCC 2.9-ee-991111;汇编使用 GNU as,并配合列明的工具模拟原 ps2eeas 汇编器和链接器的行为。
- tools/build_sn.sh 会从头重建,对照零售版审核每个已反编译函数的字节与地址,并比较所有加载段,仅允许已知未完全匹配的 C 函数内部存在差异;关卡代码按函数逐一检查。因此映像只在进行中的函数之外与零售版一致,并非整体一致。CI 会强制执行构建保真清单,本合集未重跑任何检查。
- AGENT_WORKFLOW.md 描述由一个主导模型调度多层工作模型,候选结果由严格的匹配工具判定接受与否;仓库提交了一个 Claude Code 工作代理定义,并提供向代理提供反编译结果的 Ghidra MCP 容器。所审来源未确立 REA 使用。项目代码采用 GPLv3;重建的库和第三方组件保留各自许可证,游戏和工具链另有权利约束。CONTRIBUTING 禁止使用 Sony SDK 源码和泄露材料,LEGAL.md 记录源自 SDK 示例的影片代码已于 2026-09-30 退回汇编。不主张运行复现。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- LEGAL.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- CONTRIBUTING.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- docs/BUILD_FIDELITY.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- tools/build_sn.sh GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- tools/check_image.py GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- docs/AGENT_WORKFLOW.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- docs/CONTAINERS.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- .claude/agents/match-worker.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- .recomp.json GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- LICENSE GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- THIRD_PARTY_NOTICES.md GitHub · OpenRAC/rac1-decomp · 修订 7f5d3ff
- https://bytematch.dev/OpenRAC/rac1-decomp