工具

ghidra-allegrex PSP Allegrex 处理器模块

面向 PlayStation Portable 所用 Allegrex CPU 的 Ghidra 处理器模块,由 Ghidra 的 MIPS 模块衍生而来。它补充了 Allegrex 特有指令、VFPU 指令的反汇编与基础反编译、PSP 调用约定,以及可识别 PSP 可执行文件的 ELF 加载器;加载器会处理 PSP 特有的 A 类和 B 类重定位节,并支持导入后重新设定基址。附带的脚本可导入和导出 PPSSPP 的 .sym 函数标签文件,另有导出器可把内核模块写成可供链接的可重定位目标文件。

目标
二进制 · 固件 · 游戏
类别
游戏分析工具
关联
基础工具
来源复核于

使用条件与局限

  • 审阅时的最新发布版为 v21.5,发布于 2026-10-25,面向 Ghidra 12.2,需要 JVM 25;所审阅的 master 分支提交即该标签。每个发布压缩包只对应一个 Ghidra 版本,因此 Ghidra 12.1.3 和 12.1.4 仍使用 2026-08-25 发布的 v21.4。扩展 v19 及更高版本通过 Ghidra 的 File > Install Extensions 安装;v18 及更早版本需解压后放入 Ghidra 的 Processors 目录。
  • 从源码构建需设置 GHIDRA_INSTALL_DIR,并运行 Gradle wrapper 的 buildExtension 任务,使用 JVM 25 工具链,基于本地 Ghidra 安装编译 Kotlin 和 Java 代码。CI 在 Ubuntu 上针对 Ghidra 12.2 构建扩展并上传压缩包;仓库没有自动化测试。两个 PPSSPP 脚本采用 Ghidra 的 Python 2(Jython)写法,.sym 文件来自使用者自己的 PPSSPP 调试会话。
  • 输入是使用者自备的 ELF/PRX 格式 PSP 可执行文件、内核模块或原始二进制;README 指出游戏可执行文件须为已解密版本,仓库本身不包含任何 PSP 软件或固件。原始二进制需手动选择处理器并设定映像基址,部分内核模块导入时需勾选 reboot.bin B 类重定位选项。
  • README 列出的限制包括:几乎所有 VFPU 运算都会被反编译为 vadd_q(...) 之类的函数调用;vpfxs、vpfxt 和 vpfxd 前缀的语义尚未建模;vfim.s 的半精度浮点操作数显示为整数;目标文件导入后不能再更改基址;带 64 位参数的函数因 Ghidra 的一个问题需要手动指定参数存储。本条目未导入或分析任何文件。
  • 采用 Apache-2.0 许可;README 说明它衍生自采用 Apache-2.0 的 Ghidra MIPS 模块,B 类重定位解析参考了采用 AFL v2.0 的 prxtool。项目自身的资料未提及 REA。另外,本合集收录的 REA PSP 静态 ELF 指南把它作为需由使用者自行安装的扩展,并将 v21.4 与 Ghidra 12.1.3 配套使用。

关于此条目

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

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  2. README.md#L73-L81 GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  3. CHANGES.md GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  4. build.gradle GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  5. .github/workflows/build.yml GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  6. ghidra_scripts GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  7. LICENSE GitHub · kotcrab/ghidra-allegrex · 修订 abcf976
  8. https://github.com/kotcrab/ghidra-allegrex/releases/tag/v21.5
  9. https://github.com/kotcrab/ghidra-allegrex/releases/tag/v21.4
  10. docs/ghidra-psp.md#L28-L37 GitHub · morluto/rea · 修订 c12d9ed

同分区更多条目:游戏

游戏分区全部 252 项资源