工具

Xenosaga I 反编译兼容性工具包

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

使用条件与局限

  • 所审阅的提交 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 称其来自未剥离符号的零售版可执行文件;仓库不含游戏二进制、提取的素材或反编译的游戏代码,游戏本身仍归权利人所有。所审来源未描述 AI 或 REA 的使用。

关于此条目

类型
工具
类别
游戏分析工具
关联
基础工具
目标
二进制 · 游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · LinuxJessi/decomp-compat-kit · 修订 d9bb53d
  2. tools/verify_decomp.py GitHub · LinuxJessi/decomp-compat-kit · 修订 d9bb53d
  3. tools/dump_symbols.py GitHub · LinuxJessi/decomp-compat-kit · 修订 d9bb53d
  4. tools/symbols_to_splat.py GitHub · LinuxJessi/decomp-compat-kit · 修订 d9bb53d
  5. symbols/symbols.csv GitHub · LinuxJessi/decomp-compat-kit · 修订 d9bb53d
  6. LICENSE GitHub · LinuxJessi/decomp-compat-kit · 修订 d9bb53d