# 通过 Ghidra 静态分析 PSP ELF

> 说明 REA 针对静态 PSP ELF 可执行文件的受限 Ghidra 配置：Allegrex 指令、PSP 加载与调用约定交由使用者安装的 ghidra-allegrex 扩展处理，同时沿用 REA 的命令行、MCP、证据与快照流程。它仅在 Linux x64 上接受一种 PSPSDK 文件头与 ABI 声明，并在自行构建的测试样本上验证选定的静态事实，不涉及商业游戏或 PRX 模块。

- 类型：文档
- 目标：二进制 · 游戏
- 类别：REA 官方：调查指南
- 关联：REA 官方文档
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/morluto/rea/blob/main/docs/ghidra-psp.md>
- 一手来源：<https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/docs/ghidra-psp.md>
- 目录页面：<https://awesomerea.org/zh/resources/rea-ghidra-psp-guide/>
- 记录 JSON：<https://awesomerea.org/resources/rea-ghidra-psp-guide/record.json>
- 英文版：[English](https://awesomerea.org/resources/rea-ghidra-psp-guide/index.md)

## 使用条件与局限

- 初始配置只在 Linux x64 宿主上运行，接受小端 ELF32 可执行文件，要求文件头为 PSPSDK 声明 e_flags 0x10a23001，并有经检查的版本 0 ABI 标志记录，与文档列明的单精度浮点 Allegrex 声明一致。PRX、可重定位或共享镜像、PBP／ISO／CSO 容器、模拟执行与实时代码覆盖均不在范围内；缺失或不同的声明会被拒绝，文件名也不能用来识别目标。
- 需在所选 Ghidra 发行版内安装兼容的 ghidra-allegrex 扩展；REA 从不下载、安装、重新构建或内置该扩展，并在启动前为其文件计算指纹。公开的兼容组合为 Ghidra 12.1.3、扩展 v21.4、PSPDEV v20261001 与 JDK 21。缺少前置条件时返回 PSP_EXTENSION_UNAVAILABLE，不会回退到其他分析引擎。
- 验证使用真实 MIPS 验证脚本的 PSP 模式，需自行提供 PSPDEV 工具。由 tests/conformance/psp 构建的维护样本只做静态分析、不执行，并与 PSP GNU 工具的观察结果对照：已知函数、一次直接调用、一个立即数、BITREV、一个全局字、快照重新打开，以及 A-B-A 目标切换。已合并的 PR #1599 报告在较早的贡献分支版本上通过了真实 Ghidra 验证，并说明该次运行并未重新验证最终版本。
- 这些检查只是选定的静态事实；该扩展也未完整模拟 VFPU 前缀效果。未使用或重建任何商业游戏数据，议题 #1330 仍处于开放状态。REA 声明 MIT；ghidra-allegrex、Ghidra、PSPDEV 与所分析的可执行文件仍有各自条款。

## 一手来源

1. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/docs/ghidra-psp.md>
2. <https://github.com/morluto/rea/issues/1330>
3. <https://github.com/morluto/rea/pull/1599>
4. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/scripts/verify-real-ghidra-mips.mjs>
5. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/src/ghidra/GhidraPspProfile.ts>
6. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/src/ghidra/GhidraPspExtension.ts>
7. <https://github.com/morluto/rea/tree/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/tests/conformance/psp>
8. <https://github.com/morluto/rea/blob/c12d9eda87aa5a022ee7e18ea96d8d03bfd12e96/LICENSE>

## 同分区更多条目：文档与学习资源

- [借助 Ghidra 恢复 NativeAOT 元数据](https://awesomerea.org/zh/resources/rea-ghidra-nativeaot-guide/index.md) · 文档
- [REA & AI RE Tools Guide（非官方）：REA 安装、接入与故障排查社区指南](https://awesomerea.org/zh/resources/reaguide-unofficial-rea-guide/index.md) · 学习资源
- [OpenSecurityTraining2](https://awesomerea.org/zh/resources/ost2/index.md) · 学习资源
- [pwn.college：逆向工程](https://awesomerea.org/zh/resources/pwn-college-re/index.md) · 学习资源
- [逆向工程入门](https://awesomerea.org/zh/resources/re-for-beginners/index.md) · 学习资源
- [radare2 官方手册](https://awesomerea.org/zh/resources/radare2-book/index.md) · 学习资源

## 关于此条目

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