FatalDecomp/ROLLER

GitHub: FatalDecomp/ROLLER

一个致力于在现代 PC 上完整复现并运行 1995 年游戏 Fatal Racing/Whiplash 的逆向工程项目。

Stars: 52 | Forks: 14

# ROLLER [![CI](https://img.shields.io/github/actions/workflow/status/FatalDecomp/ROLLER/ci.yml?branch=master&style=for-the-badge&logo=github&label=CI&labelColor=black)][ci-url] [![LC](https://img.shields.io/github/license/FatalDecomp/ROLLER.svg?style=for-the-badge&labelColor=black)][lc-url] [![Download](https://img.shields.io/github/v/release/FatalDecomp/ROLLER?include_prereleases&style=for-the-badge&logo=github&label=Download&labelColor=black&color=blue)][dl-url] ![Roller logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/3417d7f97d005533.gif) 该项目旨在以在现代 PC 上构建和运行的方式实现 1995 年游戏 Whiplash/Fatal Racing 的所有功能。必要时,用 SDL 和 Windows/Unix 等效方案替换特定于 DOS 的功能。有关指令匹配的解编译,请参阅 https://github.com/FatalDecomp/ROLLER-matching [![On track!](https://img.youtube.com/vi/JvoiQTRjt88/maxresdefault.jpg)](https://www.youtube.com/watch?v=JvoiQTRjt88) ## 安装 运行游戏需要来自游戏零售版本的资源。首次启动时,请选择一个 CD 镜像(CUE/BIN 或 ISO)从中提取资源。 ## 关于 使用 wdump 生成的调试符号转储,部分来自:https://github.com/open-watcom/open-watcom-v2 用于生成带有符号的精美 ASM 输出的有用工具:https://github.com/fonic/wcdatool 关于如何使用 wcdatool 以及与 open watcom 配合进行远程调试的教程:https://www.youtube.com/watch?v=bG9tEZOSrQg 注意:wdump 符号偏移未考虑 DOS4GW.EXE。请将 FATAL.EXE_split_dos4g_payload.exe(FATAL.EXE 分离出 DOS4GW.EXE 后的版本,由 wcdatool 生成)加载到 Ida/Ghidra 中,以获得匹配的符号偏移。 用于解编译的可执行文件哈希值: FATAL.EXE * `md5: 812EEE1404ECDFD87FF765281DF89720` * `SHA256: 7789768C0A6CDC213EAF7B1AD8CC125531EB3FE7C213ECCAC6188E58F428687E` FATAL.EXE_split_dos4g_payload.exe * `md5: 05C2B0730641663133D76DD2CA552B4C` * `SHA256: A4AD4131DBBFF9884DA4687D8B579B81117E6D23525950D942DF2DF585E2A11E` ## 使用的外部依赖: * SDL3.2.14: https://github.com/libsdl-org/SDL * SDL_Image3.2.4: https://github.com/libsdl-org/SDL_image * WildMIDI 0.4.6: https://github.com/Mindwerks/wildmidi * libcdio-2.3.0: https://github.com/libcdio/libcdio ## 构建 ### 克隆仓库 ``` git clone https://github.com/zizin13/roller.git cd roller ``` ### 安装依赖 - [Zig 0.15.2](https://ziglang.org/download/) 最简单的安装方式是使用 [mise](https://mise.jdx.dev/): ``` mise install ``` ### 构建并运行项目 使用默认设置 ``` zig build run ``` 使用自定义数据文件夹 ``` zig build -Dassets-path=/path/to/fatdata run ```
标签:CD镜像, CI, DOS4GW, DOS模拟, Ghidra, IDA, JARM, libcdio, SDL, SDL3, SDL_image, Unix, URL提取, Wayback Machine, WildMIDI, Zig, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 代码重构, 内存分析, 反汇编, 反编译, 可执行文件分析, 哈希校验, 客户端加密, 开源复现, 性能优化, 数字足迹, 检测绕过, 游戏复刻, 游戏开发, 游戏引擎, 游戏资产提取, 游戏还原, 游戏逆向, 符号解析, 调试符号, 跨平台兼容, 还原执行, 逆向工程, 遗留系统, 静态分析