Vatuu/silent-hill-decomp

GitHub: Vatuu/silent-hill-decomp

《寂静岭》PS1 版本的逆向反编译工程,旨在将游戏二进制文件还原为完全匹配的 C 源代码,服务于游戏研究、模组开发与数字遗产保护。

Stars: 513 | Forks: 33

SILENT HILL DECOMPILATION PROJECT

An in-progress decompilation of the 1.1 US release of Silent Hill on the PlayStation 1.
## 进度 由于 PlayStation 1 的内存有限,游戏通常将其逻辑和功能分散到不同的二进制 overlay(覆盖)中。《寂静岭》(*Silent Hill*)采用了这种方法,将核心引擎代码、一些屏幕相关代码和地图关卡逻辑代码分离到许多独立的二进制文件中。主可执行文件(1.1 NTSC 版本中的 `SLUS_007.07`)主要用作内存处理器。
反编译百分比意味着什么? (点击展开) 该百分比跟踪了游戏中已匹配的编译代码量,这意味着我们编写的 C 代码编译后的输出与原始汇编代码完全一致。 达到 100% 意味着游戏中的每个函数都已被涵盖,但这只是第一阶段的结束,而非整个项目的终结。 接下来仍有许多工作要做: - **去混淆与命名**:许多函数和变量仍然拥有诸如 `func_80241A30` 这样的生成名称。我们需要弄清楚它们的实际用途并对其进行有意义的命名。 - **数据迁移**:需要将原始二进制数据解析为正确的 C 结构体,以便让数据变得易于理解。 - **可重定位性(Shiftability)**:使构建过程不再依赖于硬编码的内存地址,以便代码和数据可以在不破坏一切的情况下进行修改。 - **文档编写**:理解和记录游戏各系统如何协同工作,以辅助模组制作和未来的项目。 100% 将是一个值得庆祝的里程碑,但仍有很多工作要做!
Total Progress

⚙ SLUS-00707 ⚙
Progress Purpose
Main executable.
🧟‍♂️⚔⚙🎮 BODYPROG.BIN 🎮⚙⚔🧟‍♂️
Progress Purpose
Main game logic.
🎮 Game Screen Overlays 🎮
Progress Purpose
Unique game screens.
Click here to expand
👨‍💼 B_KONAMI.BIN 👨‍💼
Progress Purpose Note
Boot screen logic. First fully decompiled and matching overlay!
🎞 STREAM.BIN 🎞
Progress Purpose Note
Full motion videos stream logic. Third fully decompiled and matching overlay!
💾 SAVELOAD.BIN 💾
Progress Purpose Note
Save and load screen logic. Fourth fully decompiled and matching overlay!
📜 STF_ROLL.BIN 📜
Progress Purpose Note
Credits roll logic. Second fully decompiled and matching overlay!
🛠 OPTION.BIN 🛠
Progress Purpose Note
Options screen logic. Fifth fully decompiled and matching overlay!
🗺 Game Map Overlays 🗺
Progress Purpose

40/43 matched.
Map and character code.
Click here to expand
🏙 MAP0 🏙
Progress Location
Intro sequence in Old Silent Hill.
Cafe in Old Silent Hill.
Bonus unlockable areas in Old Silent Hill.
🏫 MAP1 🏫
Progress Location
School first floor, courtyard, and basement.
School second floor.
School first floor and courtyard in Otherworld.
School second floor and school roof in Otherworld.
Unused (Click here for more information) First fully decompiled and matching
map overlay!
School boss fight.
School first floor and basement after the boss fight.
🏙 MAP2 🏙
Progress Location
Old Silent Hill.
Church. Third fully decompiled and matching
map overlay!
Central Silent Hill.
Unused (Click here for more information) Second fully decompiled and matching
map overlay!
Police station in Central Silent Hill. Fourth fully decompiled and matching
map overlay!
🏥 MAP3 🏥
Progress Location
Hospital beginning. Ends after meeting with Kaufmann.
Hospital 1st and basement floors after meeting with Kaufmann.
Green Lion Antique Shop cutscene in the Hospital.
Hospital third and second floor in Otherworld.
Hospital first floor in Otherworld.
Hospital basement in Otherworld.
Hospital first floor after the Otherworld section.
🏙 MAP4 🏙
Progress Location
Unused (Click here for more information)
Green Lion Antique Shop in Central Silent Hill and Otherworld.
Central Silent Hill in Otherworld.
Mall and boss fight.
Hospital First Floor. Cutscene with Lisa after finding the
altar in the Green Lion Antique Shop
and meeting Lisa again after the mall
boss fight.
Central Silent Hill Floatstinger boss fight in Otherworld.
Unused (Click here for more information)
🏙🍹 MAP5 🍹🏙
Sewers lower and upper levels.
Silent Hill Resort Area.
Annie's Bar and Indian Runner in Resort Area.
Norman's Motel in Resort Area.
🏙🍹🔥 MAP6 🔥🍹🏙
Silent Hill Resort Area in Otherworld.
Boat at Lakeside Pier.
Lakeside Pier and Lighthouse.
Sewer connecting to Lakeside Amusement Park.
Cybil boss fight and cutscene of Dahlia kidnapping Alessa.
Unused (Click here for more information) Fifth fully decompiled and matching overlay!
❔🏥 MAP7 🏥❔
Progress Location
Hospital first floor in Nowhere and Lisa cutscene.
Unknown Unknown parts of Nowhere.
Unknown Unknown parts of Nowhere, contains the
cutscene where Alessa struggles against
Dahlia.
Final boss fight.
进度条由 decomp.dev 提供
## 贡献 欢迎贡献!请随时开启 Pull Request。为了帮助您熟悉《寂静岭》的设置和反编译工作流程,请参阅我们的 [Wiki 页面](/../../wiki/Home)。 您也可以通过开启 Issue 或加入 [PS1/PS2 Decompilation](https://discord.gg/VwCPdfbxgm) Discord 服务器的 `#silent-hill` 频道来联系我们。
标签:DNS解析, NTSC, PlayStation 1, PS1, ROM黑客, Silent Hill, URL提取, 二进制分析, 二进制重构, 云安全运维, 云资产清单, 代码重构, 内存管理, 反编译, 复古游戏, 客户端加密, 寂静岭, 开源项目, 游戏开发, 游戏引擎, 游戏源码, 软件 archaeology, 逆向工具, 逆向工程