# Syphon Filter: The Omega Strain：可逐字节重建 PS2 可执行文件的一致性反编译

> 将 Syphon Filter: The Omega Strain 北美版 PlayStation 2 可执行文件的大部分代码重建为 C；其余函数保留为拆分出的汇编，整体构建可逐字节重现零售版 SCUS_972.64。仓库提交的 objdiff 报告以使用者自备的可执行文件为基准，追踪逐函数的匹配进度。这是一致性反编译案例，不是 PC 移植；进度数字仍为项目报告。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/zm2283145/syphon-filter-omega-strain-decomp>
- 一手来源：<https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/syphon-filter-omega-strain-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/syphon-filter-omega-strain-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/syphon-filter-omega-strain-decomp-case/index.md)

## 使用条件与局限

- **前提条件：**需从自有光盘或其镜像取得 SCUS_972.64；configure.py 在拆分前会将其 SHA-256 与 config/target.sha256 比对。仓库不提交光盘数据、拆分出的汇编、目标文件或重建的可执行文件，这些派生文件都生成于 git 忽略的目录中。可执行文件的数据区以生成的 C 定义形式提交。
- **前提条件：**构建环境需 Python 3.10+，以及固定版本的 splat 0.50.0、spimdisasm 1.42.4、ninja、MIPS binutils 和 objdiff-cli。Windows 可原生运行这些工具；Linux／macOS 通过 wibo 或 wine 运行 Windows 编译器。安装脚本会下载 decomp.me 存档的 CodeWarrior PS2 3.0.3 版本，但逐单元覆盖所用的需授权 3.0 build 38 和 3.04 build 22 安装不随附；缺少它们时，这些单元会回退为零售版汇编。库代码单元使用 EE-GCC 2.95.3 和 2.96。
- **范围：**仅针对北美版可执行文件 SCUS_972.64；产物是重建的 PS2 ELF，而非原生 PC 程序。在所审提交中，已提交的 objdiff 报告和交接说明列出 14,331 个函数中已匹配 13,413 个（93.59%），代码字节匹配 76.59%，数据匹配 99.92%，其余仍为汇编。PROGRESS.md 中带日期的状态表仍显示较早、较低的数字，函数总数也会随边界细化而变化。
- **测试证据：**验证方式是整个映像的 SHA-256 比对：重建的可执行文件与零售版哈希不符时 ninja 即报错，项目只有在通过该检查且 objdiff 显示一致时才声称函数匹配。CI 没有可执行文件，无法构建，只上传本地生成的报告供 decomp.dev 读取。项目将 build 38 的兼容性视为代码生成方面的证据。
- **许可：**所审提交中没有许可证文件，因此项目代码的复用条款未说明；游戏、其可执行文件及专有的 Metrowerks 编译器另有权利约束。交接说明面向“人或 AI 代理”，进度日志也计划并行使用代理。

## 一手来源

1. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/README.md>
2. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/PROGRESS.md>
3. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/docs/HANDOFF.md>
4. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/progress/report.json>
5. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/DECOMP_DEV.md>
6. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/config/target.sha256>
7. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/tools/check_sha256.py>
8. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/requirements.txt>
9. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/docs/data_gen.md>
10. <https://github.com/zm2283145/syphon-filter-omega-strain-decomp/blob/d41eacc6dd89befed75fec21a02faaa2b5a4750c/.github/workflows/report.yml>

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

- [TH04：从源码重建东方幻想乡的四个 PC-98 程序](https://awesomerea.org/zh/resources/th04-reconstruction-case/index.md) · 案例
- [TH08：精确源码重建与单独验证的移植](https://awesomerea.org/zh/resources/th08-reconstruction-case/index.md) · 案例
- [TH095：东方文花帖 1.02a 的函数级重建](https://awesomerea.org/zh/resources/th095-reconstruction-case/index.md) · 案例
- [《缩小帽》：面向五个 ROM 的 GBA 反编译重建](https://awesomerea.org/zh/resources/zelda-tmc-decomp-case/index.md) · 案例
- [The Sims: Bustin' Out：AI 驱动的部分 GBA 一致性反编译重建](https://awesomerea.org/zh/resources/sims-bustin-out-gba-decomp-case/index.md) · 案例
- [《风之杖》：以哈希校验重新链接的 GameCube 版反编译](https://awesomerea.org/zh/resources/wind-waker-decomp-case/index.md) · 案例

## 关于此条目

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