Cytlan/openbgi

GitHub: Cytlan/openbgi

该项目旨在逆向工程并开源重新实现 Ethornell Buriko General Interpreter(BGI)视觉小说游戏引擎,使其可在 Linux 等平台上独立运行。

Stars: 63 | Forks: 4

# OpenBGI 本项目旨在对 Ethornell Buriko General Interpreter (BGI) 进行逆向工程,并创建该引擎的开源重新实现。 ## 工作流程 目前的工作流程是使用 `Ghidra` 分析引擎,然后逐个 opcode 重新实现 opcode 和支持函数。 我们的策略只是实现一个 opcode,然后运行游戏看看它是否会崩溃。这是一种相当粗略的技术,但目前来说还算管用。 已达成的里程碑: * 重新实现了足够的基础 opcode,使得 Tayutama 能够运行。 * 独立引擎正在开发中。 ## 架构 虽然我们仍在努力重新实现 opcode,但现在看来编译一个独立程序是合理的。我们的策略仍然是 hook 到现有的引擎中,将函数和 opcode 重定向到共享库,然后再将其重新实现到独立版本中。 ## 构建 尽管跨平台兼容性是我们的目标,但目前构建链仅为 Linux 进行了配置。 在开始之前,你需要安装所需的各种工具和依赖项: ``` apt install build-essential gcc-mingw-w64-i686 ``` 构建引擎非常简单,只需运行: ``` make ``` 最后,在游戏文件目录中运行引擎: ``` cd /path/to/the/game /path/to/openbgi ``` 该引擎要求*所有*游戏资源都已通过 `tools` 目录中的 `unarc` 工具从游戏中提取出来。在适当的时候,我们将支持直接从未经修改的游戏资源中加载,但目前提取资源有助于开发。 ## 联系方式 欢迎加入我们的 Discord 服务器:https://discord.gg/3zFTJWUNt7
标签:Aarch64, BGI, Ghidra, Gophish, 云资产清单, 客户端加密, 开源重制, 游戏引擎, 视觉小说, 逆向工程