Vatuu/silent-hill-decomp

GitHub: Vatuu/silent-hill-decomp

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

Stars: 808 | Forks: 65

SILENT HILL DECOMPILATION PROJECT

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

43/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` 频道来联系我们。
标签:C语言, PlayStation, URL提取, 云资产清单, 反编译, 客户端加密, 游戏, 逆向工程