some100/th07
GitHub: some100/th07
这是一个对经典弹幕射击游戏《東方妖々夢 ~ Perfect Cherry Blossom》1.00b 版本进行反编译与重新实现的早期阶段项目。
Stars: 2 | Forks: 1
# th07
这是一个正在开发中的、由 Team Shanghai Alice 制作的《東方妖々夢 ~ Perfect Cherry Blossom》1.00b(md5: 0126afce1e805370d36c3482445e98da)的重新实现/反编译项目。
本项目仍处于早期阶段。游戏是“可玩”的,即已 100% 完全实现,你可以加载进入游戏并从头玩到尾,但由于代码尚未完全匹配,可能会有一些 bug。实现最终的完美字节级精确度是我们的目标。
## 构建
该项目需要原始的 th07.exe 1.00b 可执行文件来提取图标。请将其复制到仓库的 resources 目录中。
### 依赖项
* uv
* ninja
* wine(仅限 Linux)
* 注意:在旧版本的 wine 上提取 MSVC msi 完全无法正常工作。如果你在提取时遇到问题,请尝试使用最新 devel 版本的 wine。
在仓库的根目录下使用 uv 运行 python 脚本:
```
uv run scripts/build.py
```
构建生成的文件可以在 `build/th07.exe` 中找到。
这个可执行文件在运行一段时间后(具体来说是在 3999 个 Supervisor 周期之后)_会_ 崩溃。由于可执行文件(目前?)还没有实现与原版完全的字节级精确(包括校验和),因此将无法通过完整性检查。在这种情况下,你可以尝试构建一个不匹配的版本,这将禁用此完整性检查:
```
uv run scripts/build.py --no-matching
```
如果没有原始的可执行文件,你仍然可以在没有图标的情况下构建该程序。
```
uv run scripts/build.py --no-icon
```
## 待办事项
* 清理这堆混乱的代码。
* 开始进行匹配(并修复问题)。
* 找一个比现在这个更好的构建系统。
## 贡献
请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。
## 致谢
* 早期的 [th06 反编译项目](https://github.com/GensokyoClub),用作共享类型、函数名、文件名、源码组织等几乎所有内容的来源。由于 EoSD 和 PCB 在架构上非常相似,因此现有的 th06 反编译项目可以直接用作逆向工程 th07 的参考。
标签:C++, URL提取, 东方Project, 云资产清单, 反编译, 安全意识培训, 数据擦除, 游戏, 逆向工具, 逆向工程