案例

MediEvil 反编译:早期阶段、以校验值把关的 PlayStation 项目

将美版 PlayStation《MediEvil》逐步反编译为 C 源码,目标是重新生成其主程序、游戏程序及 26 个覆盖模块。splat 拆分使用者自备的光盘文件,默认构建会将全部 28 个产物与 SHA-1 校验值比较。README 称项目仍在进行中,未公布进度数据。

使用条件与局限

  • README 将其描述为针对美版 PlayStation《MediEvil》初代、仍在进行中的反编译项目,MediEvil 2 留待以后。Makefile 的目标为 SCUS_942.27、MEDIEVIL.EXE 及 26 个覆盖模块二进制文件。在所审版本中,大部分函数仍通过 INCLUDE_ASM 以拆分出的汇编形式纳入,而非以 C 编写;README 的进度部分仅为占位,固定的提交日期为 2026-02-23。
  • 需将使用者自有美版 MediEvil 光盘中的文件放入 disk/;splat 配置要求 SCUS_942.27 具有固定的 SHA-1,make extract 从这些文件拆分出各可执行文件和覆盖模块。仓库不提供任何游戏文件。
  • 构建需类 Linux 宿主环境:GNU make、mipsel-linux-gnu binutils、安装所列软件包(如 spimdisasm、rabbitizer)的 Python 3,以及 splat、m2c、maspsx 和 asm-differ 子模块。C 文件经由仓库内置的 PlayStation GCC 2.8.1 cc1 二进制文件和 maspsx 处理。README 让贡献者参阅 wiki 页面,了解环境配置、变基工作流和反编译流程。
  • make all 构建全部二进制文件,并依据 config/medievil.check.sha 运行 sha1sum;CI 使用访问受限仓库中的光盘文件执行拆分和该检查。检查通过只说明汇编产物与这些校验值一致,并不表示已有多少代码反编译为 C,也不表示测试过游戏行为。本合集未构建或运行该项目。
  • 仓库声明采用 MIT;原游戏内容、内置的编译器二进制文件以及仓库中的 PSY-Q 头文件和数据仍适用各自条款。所审来源未确立 AI 或 REA 使用归因,该项目也独立于 MediEvil Recomp 静态重编译项目。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

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

一手来源

  1. README.md GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  2. Makefile GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  3. config/medievil.check.sha GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  4. config/splat.main.yaml GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  5. .gitmodules GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  6. tools/requirements-python.txt GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  7. .github/workflows/ci.yaml GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  8. src/game/800.c GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe
  9. LICENSE GitHub · MediEvilDecompilation/medievil-decomp · 修订 6afe6fe