# DX-Ball：借助 REA 并由 Codex 完成的函数级重建

> 作者让 Codex 通过 REA 的 Ghidra 工具检查英文版 DX-Ball 1.07 可执行文件并恢复为带类型的 C/C++，再用同时代的 Visual C++ 4.0 编译每个函数，在映射重定位后与原文件逐字节比较。同一套源码还可构建 MinGW Windows 游戏和可移植核心库。精确重建仍在进行中；REA 另行发布的声像展示只覆盖其中一个函数。

- 类型：案例
- 目标：二进制 · 游戏
- 类别：REA 社区调查案例
- 关联：作者报告的混合工具流程
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始资源：<https://github.com/N0zoM1z0/dx-ball>
- 一手来源：<https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/dx-ball-rea-reconstruction-case/>
- 记录 JSON：<https://awesomerea.org/resources/dx-ball-rea-reconstruction-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/dx-ball-rea-reconstruction-case/index.md)

## 使用条件与局限

- **前提条件：**需自备 config/target.toml 所标识的英文版 v1.07 Windows 压缩包；导入程序校验压缩包与 DXBALL.EXE 的哈希，并将可执行文件和素材放入被 git 忽略的 original/ 目录。README 指向一个第三方下载网站获取该压缩包；仓库并未确立其分发权利。
- **前提条件：**文档说明的宿主为 Linux x86-64，需要 Git、Python 3.11+、Node.js 22.19.0、32 位 Wine、Xvfb、CMake、Ninja 以及 GCC 或 Clang；Windows 交叉构建还需 i686 MinGW。初始化脚本获取以哈希固定的 JDK、Ghidra，以及来自第三方存档仓库的 Visual C++ 4.0 编译器。REA 锁定文件固定 rea-agents 6.5.0 与 Ghidra 12.1.4，而 docs/REA.md 仍写作 6.4.0；Codex goal 工作流需要 Codex 0.128.0 或更新版本。
- **范围：**README 将精确重建标注为进行中，之后才会推进可游玩的 Visual C++ 4.0 构建及其他平台移植。自动生成的 PROGRESS.md 统计 553 个暂定函数候选，其中 475 个具备源码、395 个逐字节一致（85,106 个一致代码字节）、249 个通过有范围的语义验收，并称两个 Windows 构建都已在 Wine 下完成有记录的原版关卡流程。10 月 17 日另一次 50 关的 restored-CRT 尝试在时限到达时结束，未完成全部流程。
- **测试证据：**一个一致单元须在 COFF 重定位映射到原函数、导入项和数据后，整个函数零差异，并同时检查字面量数据；match-units.toml 记录重放每个单元所需的输入。差分测试在 Unicorn 模拟中运行原 x86 例程，与编译后的维护版 C 代码对照；公开 CI 构建可移植源码、校验记录的证据，并在不含游戏资源的情况下编译 Windows 适配层。所有结果均为项目报告。
- **许可：**MIT 许可覆盖仓库代码；原游戏署名为 Michael P. Welch，3D 图形由 Seumas McNally 制作，需另行提供并保留其自身权利，下载的编译器与工具亦各有条款。REA 的使用通过保存的响应和一个弹丸链表的实例说明记录，但智能体的成效未经独立测量。

## 一手来源

1. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/README.md>
2. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/docs/REA.md>
3. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/docs/MATCHING.md>
4. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/docs/BUILD.md>
5. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/docs/PROGRESS.md>
6. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/docs/research/ORIGINAL_CAMPAIGN.md>
7. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/config/target.toml>
8. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/config/tools.lock.toml>
9. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/config/rea.lock.json>
10. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/tests/test_boards_differential.py>
11. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/.github/workflows/ci.yml>
12. <https://github.com/N0zoM1z0/dx-ball/blob/d1251ea4bd000c7204c895c029194cae1d269731/LICENSE>

## 同分区更多条目：游戏

- [DX-Ball：重建声音声像计算](https://awesomerea.org/zh/resources/rea-dxball-case/index.md) · 案例
- [Final Fantasy VII：PlayStation 版一致性反编译](https://awesomerea.org/zh/resources/ff7-ps1-matching-decomp-case/index.md) · 案例
- [GoldenEye 007：覆盖三个版本的一致性 Nintendo 64 反编译](https://awesomerea.org/zh/resources/goldeneye-007-matching-decomp-case/index.md) · 案例
- [Gran Turismo 4：借助智能体的 PS2 引擎匹配反编译](https://awesomerea.org/zh/resources/gran-turismo-4-matching-decomp-case/index.md) · 案例
- [Halo 2：智能体辅助的 LTCG Xbox 版一致性反编译](https://awesomerea.org/zh/resources/halo2-matching-decomp-case/index.md) · 案例
- [Himuro：Fatal Frame（《零》）PS2 一致性反编译](https://awesomerea.org/zh/resources/himuro-fatal-frame-decomp-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
