# 3S Decomp：逐字比对的《街头霸王 III：3rd Strike》PS2 反编译重建

> 将 Street Fighter Anniversary Collection 中《街头霸王 III：3rd Strike》的 PlayStation 2 可执行文件反编译为 C 源码，用当年的 Metrowerks 与 EE GCC 编译器重新构建，再将重建出的可执行文件与使用者自备的原文件逐字比较。README 报告游戏代码已全部反编译，CRI 中间件部分完成。另有独立的 3SX 原生移植，自称是本项目的延续。

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

## 使用条件与局限

- README 报告游戏代码已全部反编译，CRI 中间件部分反编译，游戏所用的大部分文件系统和声音函数已一致；cri-progress.md 所列 503 个 CRI 函数中已勾选 497 个。在所审提交中，PS2 构建仍有两个游戏函数（sea_write 和 mlt_obj_trans_rgb_ext）及 52 个 CRI C 文件中的 39 个包含汇编；PS2 SDK 和 GCC 库代码不在范围内。产物是 PS2 可执行文件，不是 PC 移植。
- 构建需要使用者从自己的游戏副本中取得 THIRD_U.BIN；拆分配置记录其 SHA-1 为 cf58495054c31ad852175c66e9ca04d5094f000e，make split 据此生成汇编和链接脚本。反编译指南还借助该可执行文件中的 DWARF 调试数据（用 decomp-toolkit 导出）获取函数签名和局部变量。另有面向 CPS3 街机版的 split_cps3 目标，需要使用者自备街机 ROM，目前只有代码段配置。
- 构建指南涵盖 Linux（需启用 i386 支持的 Debian 软件包、MIPS binutils，以及装有 splat64 0.29.0 和 spimdisasm 1.35.0 的 Python 虚拟环境），macOS 则使用所提供的 Dockerfile。make setup_tools 从 decomp.me 的编译器发布中下载 Metrowerks mwccps2 3.0b38 和 EE GCC 2.96，并下载用于运行 Windows 工具的 wibo；m2c、asm-differ、mwccgap 和 saturn-splitter 是 git 子模块。
- 构建成功后，compare_bytes.py 将重建的可执行文件与原文件在偏移 0x80 至 0x478A00 范围内比对，并输出 “Files match ✅”。该检查容许约 20 个游戏与 CRI 函数中列明的 163 个字存在差异，原因注明为寄存器与操作数互换、断言行号、字符串编码、一处错位的 nop 和一处调用错位，因此按项目自身的检查，一致性接近字节级，而非整个文件的哈希一致。最新提交移除了 GitHub Actions 工作流。
- LICENSE 为 AGPL-3.0，适用于项目代码。原可执行文件和游戏内容仍有各自权利约束；include/cri 中有标注 “CRI Middleware SDK” 及 “Copyright (c) … CRI-MW” 的头文件，内置的 zlib 也保留其自身许可证。

## 一手来源

1. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/README.md>
2. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/docs/builde-guide.md>
3. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/docs/decompiling.md>
4. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/Makefile>
5. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/config/anniversary/sfiii.anniversary.yaml>
6. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/tools/compare_bytes.py>
7. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/cri-progress.md>
8. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/src/anniversary/sf33rd/Source/Game/end_20.c#L321-L322>
9. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/src/anniversary/sf33rd/Source/Game/MTRANS.c#L1145-L1146>
10. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/config/cps3/sfiii3n.yaml>
11. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/tools/requirements-python.txt>
12. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/.gitmodules>
13. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/include/cri/cri_xpts.h>
14. <https://github.com/crowded-street/3s-decomp/blob/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835/LICENSE>
15. <https://github.com/crowded-street/3s-decomp/commit/be9b9bc69dc19822a8eca9ce3e72ba560d5a3835>

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

- [智能体反编译：字节匹配验收复盘](https://awesomerea.org/zh/resources/agent-decompilation-oracle-case/index.md) · 案例
- [Animal Crossing：生成一致产物的 GameCube 反编译重建](https://awesomerea.org/zh/resources/animal-crossing-gamecube-decomp-case/index.md) · 案例
- [Animal Crossing: Wild World：附差分运行检查的韩版 DS 一致性反编译重建](https://awesomerea.org/zh/resources/animal-crossing-wild-world-decomp-case/index.md) · 案例
- [《动物之森》：进行中的 N64 一致性反编译](https://awesomerea.org/zh/resources/animal-forest-n64-decomp-case/index.md) · 案例
- [BFM-decomp：Brave Fencer Musashi 匹配反编译](https://awesomerea.org/zh/resources/bfm-decomp-case/index.md) · 案例
- [《旷野之息》：Switch 主程序的逐函数一致性反编译](https://awesomerea.org/zh/resources/botw-decomp-case/index.md) · 案例

## 关于此条目

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