工具

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 列为运行时参考。本次未进行重编译、构建或运行任何游戏。

关于此条目

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

来源复核于

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

一手来源

  1. README.md GitHub · ran-j/PS2Recomp · 修订 eb8688b
  2. LICENSE GitHub · ran-j/PS2Recomp · 修订 eb8688b
  3. ps2xRecomp/CMakeLists.txt GitHub · ran-j/PS2Recomp · 修订 eb8688b
  4. ps2xRuntime/CMakeLists.txt GitHub · ran-j/PS2Recomp · 修订 eb8688b
  5. ps2xRecomp/tools/ghidra/ExportPS2Functions.java GitHub · ran-j/PS2Recomp · 修订 eb8688b
  6. https://github.com/ran-j/PS2Recomp/releases/tag/v0.4
  7. https://github.com/ran-j/PS2Recomp/compare/v0.4...eb8688b2fd191129f103a39543002c005b33409c