# Xenosaga I 反编译兼容性工具包

> 在匹配反编译项目自身的构建之外进行检查：用未打补丁的原版 ee-gcc 2.96 及汇编器重新编译其 C 代码，再逐函数与原程序逐字节比较，并按可能的工具链原因对每处差异分类。配套脚本可将 ELF 符号表导出为 CSV，并转换为 splat 符号文件。默认配置针对 Xenosaga Episode I；README 称方法可推广，默认配置则不能。

- 类型：工具
- 目标：二进制 · 游戏
- 类别：游戏分析工具
- 关联：基础工具
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始资源：<https://github.com/LinuxJessi/decomp-compat-kit>
- 一手来源：<https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/decomp-compat-kit/>
- 记录 JSON：<https://awesomerea.org/resources/decomp-compat-kit/record.json>
- 英文版：[English](https://awesomerea.org/resources/decomp-compat-kit/index.md)

## 使用条件与局限

- 所审阅的提交 d9bb53d 是仓库仅有的两个提交中的第二个，二者均提交于 2026-09-25；没有发布版本或测试。仓库包含三个 Python 工具，以及北美版 Xenosaga Episode I 可执行文件 SLUS_204.69 及其五个 overlay 的符号数据，这些程序由 SCE ee-gcc 2.96 编译。工具的文档字符串仍提到仓库中不存在的 out/ 路径和 TOOLCHAIN.md。
- verify_decomp.py 需要待检验的反编译项目检出、使用者自有的 SLUS_204.69 及提取出的原始文件（通过 DECOMP_GAME_DIR 指定），以及含原版 ee-gcc 2.96 和 ee-as 的 i386 根文件系统，并通过 Docker 在 linux/386 仿真下运行，另需 clang 进行预处理。README 指引从 decompme/compilers 获取编译器（工具包不附带），并说明在 Apple 芯片 Mac 上借助 colima 和 binfmt 的运行方法。
- 它用 -DSKIP_ASM 编译每个 C 翻译单元，将其中定义的每个函数与原始字节比较，把差异标记为 hazard-nop、reorder、mixed、immediate 或 unexplained，仅在存在 unexplained 时返回非零退出码。README 提醒，mixed 类会屏蔽分支与调用目标，因此其中错误的目标不会被标出；重定位依赖被测项目数据布局的函数记为无法验证。
- README 中针对一个匿名 PS2 匹配反编译项目的案例报告：857 个函数中 817 个完全一致，40 处差异均属工具链类别，195 个无法验证，另有一次编译器崩溃。README 还报告与另一反编译项目的符号文件相比，有 5,927 个共同名称且地址无一不符。两项结果均未连同输入一并公开。
- 采用 MIT 许可。仓库包含一份 15,132 条的符号表，README 称其来自未剥离符号的零售版可执行文件；仓库不含游戏二进制、提取的素材或反编译的游戏代码，游戏本身仍归权利人所有。

## 一手来源

1. <https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/README.md>
2. <https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/tools/verify_decomp.py>
3. <https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/tools/dump_symbols.py>
4. <https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/tools/symbols_to_splat.py>
5. <https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/symbols/symbols.csv>
6. <https://github.com/LinuxJessi/decomp-compat-kit/blob/d9bb53dac364ecfaff4f8b00ea44baec60a27abf/LICENSE>

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

- [GB Recompiled Game Boy 静态重编译器](https://awesomerea.org/zh/resources/gb-recompiled/index.md) · 工具
- [dtk-template GameCube/Wii 反编译项目模板](https://awesomerea.org/zh/resources/dtk-template/index.md) · 工具
- [N64ModernRuntime N64 重编译运行时](https://awesomerea.org/zh/resources/n64modernruntime/index.md) · 工具
- [REDscript《赛博朋克 2077》脚本编译与反编译工具集](https://awesomerea.org/zh/resources/redscript/index.md) · 工具
- [Spice86 实模式 DOS 逆向与重写模拟器](https://awesomerea.org/zh/resources/spice86/index.md) · 工具
- [PS2 Web Recomp 浏览器游戏重编译工具](https://awesomerea.org/zh/resources/ps2-web-recomp/index.md) · 工具

## 关于此条目

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