anthonyhfm/open-ottsel

GitHub: anthonyhfm/open-ottsel

一个以 Rust 从零重实现 PSP 游戏《Daxter》的独立逆向工程研究项目,旨在实现软件保存与教育目的。

Stars: 0 | Forks: 0

# OpenOttsel ### 针对*Daxter*(PSP,2006)的独立逆向工程与重实现项目 OpenOttsel 是一个研究项目,重点在于理解并重新实现 PlayStation Portable 平台游戏 *Daxter* 的软件架构。该游戏由 Ready at Dawn 开发,并于 2006 年发布。我们的目标是通过已记录的观察结果和原创编写的代码,构建一个独立的、原生的 PSP 实现。 ## 本项目是什么 - 为了实现互操作性、教育和软件保存而进行的逆向工程; - 一个干净、独立编写、针对 PSP 的 Rust 实现; - 对可执行文件结构、MIPS 行为、数据格式和 runtime 系统的分析; - 一个记录研究发现的场所,以便这些工作能够被复现和审查。 ## 本项目不是什么 - 原游戏的副本; - 游戏本身、其可执行文件或其受版权保护的资产的销售渠道; - 破解补丁、加载器或绕过工具; - Sony Interactive Entertainment、Ready at Dawn 或任何相关公司的官方移植版、重制版、产品或服务。 ## 法律与内容政策 OpenOttsel 是独立的且非商业性的。本仓库仅包含新编写的源代码、构建脚本、文档和其他原创的项目资料。它**不**包含或接受以下内容的 pull request: - ISO 镜像、`EBOOT.BIN`/`BOOT.BIN` 文件、解密的游戏可执行文件或复制的游戏库; - 纹理、模型、动画、音乐、音效、影片、字体、图标或其他游戏资产; - 专有 SDK、泄露的源代码、提取的受版权保护的数据或密钥; - 任何上述内容的下载链接。 选择进行本地分析的用户需自行负责获取和使用合法的软件副本,并负责遵守法律及其适用的许可条款。本地的提取输出已被 Git 有意忽略,绝不能被提交或发布。 逆向工程可能会因司法管辖区、目的、分发方式以及附加在软件副本上的条款不同而有不同的规定。本仓库中的任何内容均不构成法律建议,也不保证免受索赔、下架或其他法律行动。在重新分发任何内容或依赖特定法律例外情况之前,请咨询合格的律师。GitHub 的 [DMCA 政策](https://docs.github.com/en/site-policy/content-removal-policies/dmca-takedown-policy) 和 [美国版权局软件指南](https://www.copyright.gov/title17/92chap12.html) 是有用的起点,但不能替代针对特定司法管辖区的建议。 ## 商标与从属关系 *Daxter*、*PlayStation*、*PSP*、Sony Interactive Entertainment 和 Ready at Dawn 是其各自所有者的名称和商标。OpenOttsel 不主张对这些商标的所有权,也不隶属于其任何所有者,或获得其赞助、认可或授权。这些名称仅用于识别此独立项目所研究的软件和平台。 ## 技术方向 本项目是有意采用自下而上的方式构建的: 1. 记录通过合法本地分析得出的单个行为或子系统; 2. 编写独立的 Rust 实现; 3. 在可能的情况下于 host 上进行测试; 4. 使用 `rust-psp` 构建原生的 PSP `EBOOT.PBP`; 5. 仅在理解了其他系统的行为之后,才将其集成进来。 当前的工作空间中没有 runtime patcher,也不依赖原始二进制文件。PSP 程序会启动我们自己的代码,目前作为一个最小化的原生 runtime shell 保持进程存活。 ## 构建 要求:Rust nightly、`rust-src`、`cargo-psp` 以及用于本地测试的 PPSSPP。只需安装一次 cargo 子命令: ``` cargo install cargo-psp --version 0.2.9 ``` 构建、安装并启动独立的 PSP 程序: ``` python3 scripts/run_ppsspp.py ``` 生成的 `EBOOT.PBP` 将被安装到 `PSP/GAME/OpenOttsel/EBOOT.PBP`。使用 `--no-launch` 可仅进行构建和安装。 此构建步骤不需要原版游戏。`scripts/setup.py` 是可选的,仅用于准备本地、已忽略的分析数据。 ## 建议的 GitHub topics `daxter` · `psp` · `psp-homebrew` · `playstation-portable` · `reverse-engineering` · `software-preservation` · `game-reimplementation` · `rust` · `rust-psp` · `mips` · `mipsel` · `reimplementation` ## 许可证 OpenOttsel 自有的源代码和文档基于 **Apache License, Version 2.0** 授权。详见 [LICENSE](LICENSE)。此许可证仅适用于 OpenOttsel 的材料,不授予任何第三方游戏、平台或商标的权利。
标签:PSP, Rust, 云资产清单, 可视化界面, 游戏开发, 游戏引擎, 网络流量审计, 软件重构, 逆向工具, 逆向工程