工具
PS2Recomp PlayStation 2 静态重编译器
实验性的静态重编译器,将 PlayStation 2 ELF 可执行文件中的 MIPS R5900 代码转换为 C++,并与随附的运行时链接。ps2xAnalyzer 或 Ghidra 导出脚本为每款游戏生成包含函数、存根、跳过项和指令补丁的 TOML 配置;ps2xRecomp 输出逐条指令的直译代码;ps2xRuntime 与 ps2xIOP 提供客户机内存、系统调用分发、带 HLE 回退的 IOP 模块执行,以及仅部分实现、大多为存根的 GS/VU 硬件。输出不是反编译源码,让游戏真正运行仍需针对每款游戏进行移植。
使用条件与局限
- 构建需要 CMake 3.20+ 和 C++20 编译器;README 称目前主要在 MSVC 上测试,部分向量路径要求主机支持 SSE4/AVX。CMake 在配置阶段拉取 ELFIO、toml11、fmt、libdwarf 和 raylib,启用调试界面时还会拉取 Dear ImGui。GitHub 列有 v0.0 至 v0.4 共五个仅含源码的预发布版本(最新为 2026-04-05),均未附带二进制文件;所审阅的 main 提交(2026-10-14)比 v0.4 多 36 个提交。
- 游戏 ELF 需由用户自行提供,项目不附带任何游戏代码,其项目描述说明也把原始发行版界定为用户必须拥有的版本。推荐流程是用随附的 ExportPS2Functions.java 脚本从 Ghidra 导出函数,ps2_analyzer 则适合带调试符号的 ELF。存根地址绑定和游戏覆盖模块只针对某一个确切的 ELF 构建,不能跨游戏、地区或版本通用。
- README 列出的局限包括 VU 与 GS 性能很差、硬件仿真只完成一部分且多处为存根。本条目不代表任何游戏兼容性或已完成的移植;基于它的下游移植项目需另行审阅。仓库中还有 Android 与 PS Vita 构建目录以及 ps2xStudio 前端,本次未审阅。
- 采用 GPL-3.0;拉取的依赖保留各自的许可,README 将 PCSX2 列为运行时参考。本次未进行重编译、构建或运行任何游戏。
关于此条目
- 类型
- 工具
- 类别
- 游戏分析工具
- 关联
- 基础工具
- 目标
- 二进制 · 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · ran-j/PS2Recomp · 修订 eb8688b
- LICENSE GitHub · ran-j/PS2Recomp · 修订 eb8688b
- ps2xRecomp/CMakeLists.txt GitHub · ran-j/PS2Recomp · 修订 eb8688b
- ps2xRuntime/CMakeLists.txt GitHub · ran-j/PS2Recomp · 修订 eb8688b
- ps2xRecomp/tools/ghidra/ExportPS2Functions.java GitHub · ran-j/PS2Recomp · 修订 eb8688b
- https://github.com/ran-j/PS2Recomp/releases/tag/v0.4
- https://github.com/ran-j/PS2Recomp/compare/v0.4...eb8688b2fd191129f103a39543002c005b33409c