# Final Fantasy VII：PlayStation 版一致性反编译

> 为 Final Fantasy VII 美版 PlayStation 发行版重建 C 源码，目标是让代码重新编译出原版主可执行文件及各游戏覆盖段（overlay）。构建流程用 splat 拆分使用者自备的光盘文件，以当年的 cc1-psx 编译器编译，并用 SHA-1 校验每个重建文件。基于 PsyZ（PlayStation 库替代实现）的原生构建会在 CI 中编译，但未作为可游玩的移植版加以说明。

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

## 使用条件与局限

- 项目自述为该 PS1 游戏的一致性反编译；config/us.yaml 只定义了 us 一个版本，涵盖 SCUS_941.63 以及战斗、野外、菜单、世界地图、小游戏、魔法及其他覆盖段，共 29 条 SHA-1 记录。源码中的数据表（例如陆行鸟小游戏的反余弦表）取自游戏，这在此类项目中很常见。README 未给出完成度数字；CI 会把进度报告上传为构建产物。
- 需将 Final Fantasy VII（USA）第 1 张光盘以 BIN/CUE 形式放在 disks/ 下；README 将美版 Interactive Sampler CD 列为可选，但所审配置只构建 us 版本。CONTRIBUTING 说明仓库不含原版游戏数据，也不是可游玩或独立运行的版本。CI 通过机密令牌从一个私有依赖仓库获取光盘镜像。
- README 介绍了 Debian/Ubuntu 与 Arch Linux 下的环境：Go、Python 3（含 splat64、spimdisasm 等的虚拟环境）、ninja、7zip、bchunk 以及 mipsel-linux-gnu binutils 和 GCC；CI 注释指出 Ubuntu 24.04 自带的 binutils 2.42 链接器与游戏不匹配。make 会从项目的 init 发布版下载 cc1-psx-26 与 cc1-psx-272 编译器构建，并以仓库中的 SHA-256 文件校验；maspsx、m2c、asm-differ 与 PsyZ 以子模块引入，另提供 Dockerfile。
- make build 的最后一步是 ninja 规则，以 sha1sum -c 校验每个覆盖段的预期哈希。上游仓库的 CI 检查代码格式、运行该构建、检查符号重叠，并编译 PsyZ 构建。这些检查比较的是美版文件是否一致。
- LICENSE 为 AGPL-3.0；游戏光盘、提取出的数据和下载的编译器另有权利归属。README 表示反编译代码由人编写，拒绝借助 LLM 加速反编译，但允许将 LLM 用于工具开发、对难点函数做排列尝试或排查运行时错误；CONTRIBUTING 禁止自主生成的拉取请求和提交信息。

## 一手来源

1. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/README.md>
2. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/CONTRIBUTING.md>
3. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/Makefile>
4. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/config/us.yaml>
5. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/tools/ninja/gen.py>
6. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/tools/builder/builder/build.go>
7. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/.github/workflows/build.yaml>
8. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/CMakeLists.txt>
9. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/.gitmodules>
10. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/bin/cc1-psx-26.gz.sha256>
11. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/Dockerfile>
12. <https://github.com/Xeeynamo/ff7-decomp/blob/37f35a536ba80f0575e79e243a273b28702d494d/LICENSE>

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

- [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) · 案例
- [《ICO》反编译：逐字节一致的 PAL 与日版 PlayStation 2 启动 ELF](https://awesomerea.org/zh/resources/ico-matching-decomp-case/index.md) · 案例
- [《王国之心 358/2 Days》：逐字节一致的 Nintendo DS 反编译重建](https://awesomerea.org/zh/resources/kingdom-hearts-days-matching-decomp-case/index.md) · 案例

## 关于此条目

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