# Paleblood：带自有运行时的 Bloodborne 功能等价反编译

> 将 Bloodborne PS4 可执行文件（CUSA03173，含 1.09 更新）的代码逐个函数改写为可读的 C++，目标是在项目以净室方式自行编写的运行时上实现原生 PC 源码移植。它追求功能等价而非字节一致：每个替换函数都以钩子接入，在录制与生成的输入上与原始机器码对照比较，再经独立审核。项目仍处早期：README 报告 157,757 个函数中已验证 21 个，游戏尚不能在 Paleblood 自己的运行时上运行。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-28
- 原始资源：<https://github.com/Yharnam-Hunters/Paleblood>
- 一手来源：<https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/paleblood-bloodborne-functional-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/paleblood-bloodborne-functional-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/paleblood-bloodborne-functional-decomp-case/index.md)

## 使用条件与局限

- 审阅的是 2026-10-19 的最新提交，距首次提交 12 天。自动生成的状态显示，在 157,757 个函数的 Ghidra 导出中已替换 31 个、验证 21 个；项目自己的加载器可映射可执行文件，启动流程停在第一个尚未实现的系统调用处，686 个系统导入中已实现 247 个。替换内容涵盖帧循环的部分代码，以及事件、内核、输入、AI、角色、物理和渲染层中的函数；BB_TARGET_FPS 以代码方式重现了三个社区帧率补丁。
- 需要 Bloodborne CUSA03173（欧版）及 1.09 更新，并须从使用者自己的 PS4 上转储；由此转换得到的可执行文件须与 target.sha256 一致。README 称仓库不含任何游戏代码、素材、二进制文件、反编译器输出或提取数据，预提交钩子和 CI 中的检查会拒绝游戏数据，项目也不提供或指向游戏文件、pkg、固件、密钥或解密工具。
- 文档说明的开发环境为 Linux，需 CMake 3.20+ 与 CTest，分析时使用 Ghidra 12.0.3 及 GhidraOrbis 加载器。完整运行游戏目前仍依赖外部脚手架 third_party/bbport：这是项目对采用 GPL-2.0-or-later 的 bloodborne_pc 移植所建的分支，以原生方式运行原始可执行文件，并用源自 shadPS4 的 Vulkan 代码渲染。CI 不获取该子模块。
- README 称 tools/verify.py 会并排运行原始代码与替换函数，比较返回值、寄存器、每个写入的字节和每次库调用，且故意写错的版本必须无法通过；替代社区补丁的选项则与打过该补丁的原版对照验证。CI 使用 GCC 与 Clang 构建，并在没有游戏数据的情况下运行单元、测试框架和规则检查，因此针对游戏本身的验证由贡献者运行、属项目报告。
- 依 LICENSE 采用 GPL-2.0-or-later；bbport 脚手架另有 GPL-2.0-or-later 声明，README 称该声明不授予游戏或其代码的任何权利。README 称 Paleblood 是与 Sony Interactive Entertainment 和 FromSoftware 无关的粉丝项目，并称运行时以净室方式编写。CONTRIBUTING.md 允许经披露并验证的 AI 辅助工作，近期提交带有署名 Claude Opus 5.5 与 Codex 的 Co-Authored-By 尾注。

## 一手来源

1. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/README.md>
2. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/STATUS.md>
3. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/CONTRIBUTING.md>
4. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/docs/VERIFY.md>
5. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/docs/ONBOARDING.md>
6. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/docs/GHIDRA.md>
7. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/target.sha256>
8. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/third_party/README.md>
9. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/.github/workflows/ci.yml>
10. <https://github.com/Yharnam-Hunters/Paleblood/blob/1d418eba692745d8fc0a7d77a04d1bca56badab8/LICENSE>
11. <https://github.com/Yharnam-Hunters/bbport/blob/accdce33b89d45fa3c7f5066e69362a5ec215c1a/README.md>

## 同分区更多条目：游戏

- [R.E.L.I.V.E.：Oddworld: Abe’s Oddysee 与 Abe’s Exoddus 引擎的重新实现](https://awesomerea.org/zh/resources/relive-oddworld-abe-engine-case/index.md) · 案例
- [re-plants-vs-zombies：反编译并现代化改造 Plants vs. Zombies 年度版](https://awesomerea.org/zh/resources/re-plants-vs-zombies-decomp-case/index.md) · 案例
- [REDRIVER2：借助 PlayStation 兼容层重建 Driver 2](https://awesomerea.org/zh/resources/redriver2-case/index.md) · 案例
- [RSDKv3 Decompilation：在重建的 Retro Engine v3 上运行 Sonic CD（2011）](https://awesomerea.org/zh/resources/rsdkv3-sonic-cd-decomp-case/index.md) · 案例
- [RSDKv4 Decompilation：Retro Engine v4 与《索尼克》1、2（2013）菜单的反编译](https://awesomerea.org/zh/resources/rsdkv4-sonic-1-2-decomp-case/index.md) · 案例
- [RSDKv5 Decompilation：重建 Retro Engine v5 与 v5U](https://awesomerea.org/zh/resources/rsdkv5-engine-decomp-case/index.md) · 案例

## 关于此条目

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