在 GitHub 上加星Star1.1k 个星标

逆向工程资源集合

逆向工程案例合集

从 1,253 项精选资源中筛选出的 431 个案例,保留重建方法、成果边界与原始证据,并按网站、游戏、应用等目标分组,可逐条打开条目查看来源与复核日期。

软件重建产物评审 · Beta

核查 REA 工作流与独立重建的实际产物,每项保留原始来源和已知局限。

复现范围
已实现功能、已知缺口及必需的原始素材。
产物入口
原始代码、发布包或演示。
证据与归因
固定来源、复核日期与 REA 的实际角色。
关于这些案例

每个案例按主要用途出现一次,并保留所有目标标签。

网站

13 个案例

全部主题

13 个案例带“网站”标签 · 查看全部 13 个 →

一篇日文实践报告在单独的项目目录中把 REA 6.4.0 接入 Claude Code,屏蔽其 170 个工具中的 43 个以及常见的命令行启动方式,并在两个真实任务上比较启用与禁用 REA 的运行:一个 Electron 终端的分发文件,以及一份保存的 HAR 通信记录。两组都给出正确答案,而启用 REA 的一组耗时最多为 2.00 倍、按 API 计价的费用最多为 1.67 倍。这是分析评估与安全配置案例,而非重建案例。

作者使用 REA 的 MCP 浏览器工具被动捕获 wayou 开源 T-Rex Runner 页面已加载的 JavaScript,再由 Codex 在一个自包含的 HTML5 Canvas 游戏中重建其加速规则。报告以 SHA-256 标识所捕获的脚本,并区分已核实的源码事实与重建选择;只主张速度规则一致,不主张完整玩法等价。

记录 BaoCut 的设计稿(画布)与设计系统编辑器;项目称其按 1:1 移植自 Claude Design 编辑器的 TypeScript 重建,并在智能体会话中提供标注与导出。运行时说明记录了对照原脚本修正的标识符,以及画布主页面 20463 个函数中有 19111 个结构完全一致的比对结果。未审阅的差异、未公开的重建记录及复用权利仍待确认;不主张恢复任何托管后端。

记录并重新实现 WhatsApp Web 在浏览器会话镜像已配对手机时期使用的 WebSocket 协议:二维码配对、Curve25519/HKDF 密钥建立、经 AES/HMAC 保护的二进制报文、基于字符串令牌表的节点编码,以及端到端媒体加密。Python 后端、Node.js 中继和浏览器前端把已登录会话的报文解码成可查看的 JSON,README 还列出了 Baileys、go-whatsapp 等独立再实现。这是 WhatsApp 2021 年多设备架构之前的旧一代协议,不能当作对当前 WhatsApp Web 的描述。

用 Rust 重新实现 Adobe Flash Player,使从 ActionScript 1/2(AVM1)到 ActionScript 3(AVM2)的 SWF 内容能在原生桌面播放器中运行,或通过 WebAssembly 以自托管脚本或浏览器扩展的形式在浏览器中运行。其贡献指南称,行为依据对 Flash Player 输出的观察或 Adobe 开源的 avmplus 等许可兼容来源确定,并禁止反编译 Flash Player、Flash Professional 或 Animate。回归测试运行贡献者自制的 SWF,将其 trace 输出(以及可选的渲染图像)与官方调试版 Flash Player 的记录进行比较。

Sheypoor MCP 根据浏览器流量记录的接口行为,为 Sheypoor 分类信息网站实现客户端和 MCP 服务器。其文档列出已观察到的接口、请求头、Cookie 和手机短信验证码登录流程。服务器向 MCP 客户端提供信息搜索与详情、账户功能,以及聊天会话列表和未读消息数。

游戏

239 个案例

全部主题

242 个案例带“游戏”标签 · 查看全部 242 个 →

匹配反编译与反汇编

69 个案例

原始工具链能逐字节重建原始二进制的源码或完整反汇编,按函数或用原始文件的哈希核对。

将 Street Fighter Anniversary Collection 中《街头霸王 III:3rd Strike》的 PlayStation 2 可执行文件反编译为 C 源码,用当年的 Metrowerks 与 EE GCC 编译器重新构建,再将重建出的可执行文件与使用者自备的原文件逐字比较。README 报告游戏代码已全部反编译,CRI 中间件部分完成。另有独立的 3SX 原生移植,自称是本项目的延续。

将 Animal Crossing 的 GameCube 代码重建为 C 与 C++ 源码,可重新构建美版的主可执行文件及 foresta.rel 模块。基于 dtk-template 的构建从使用者自备的光盘镜像读取原始二进制与素材,再用 SHA-1 哈希校验两个产物。另有原生 PC 移植以它为基础;此处的完成度数字仍为项目报告。

将 Animal Crossing: Wild World 韩版 DS 游戏的 ARM9 游戏代码重建为每个函数一个 C 或 C++ 源文件,并用原版 Metrowerks 编译器和链接器对照使用者自己的 ROM 校验。每个函数另有可读的 Clean 改写版本,仓库自带的 DS 解释器在录制的游玩过程中比较 ROM 代码、原生编译的源码和改写版本。数据段、ARM7 程序、链接的 SDK 库及按原始源文件重新归组仍不在重建范围内。

将从 ROM 逆向得到的 C 代码与从使用者自备 ROM 中提取的素材和汇编结合,重建日版 Nintendo 64《动物之森》(どうぶつの森)。默认构建会用仓库保存的 MD5 校验未压缩与重新压缩的 ROM。README 明确该项目不作为移植基础,也不用于商业目的;decomp.dev 报告所审提交有 18.52% 的代码已匹配。

以 C++ 重新实现《塞尔达传说 旷野之息》Switch v1.5.0 主程序的部分代码,并逐个函数与原始机器码比对。项目自称是反编译与重新实现的混合体:不含游戏素材,生成的 ELF 仅包含已重新实现的函数、无法运行游戏,移植到其他平台也明确不是目标。

从《恶魔城 月下夜想曲》的 PlayStation、PSP 和 Saturn 版二进制重建 C 源码,目标是逐字节编译出与原游戏文件一致的产物。这一进行中的构建将已反编译代码与从使用者自备光盘镜像提取的素材和汇编结合,再按版本检查 SHA-1 哈希。同一仓库中的原生 PC 实验被文档说明为尚未完成,并不是已发布的移植。

作者让 Codex 通过 REA 的 Ghidra 工具检查英文版 DX-Ball 1.07 可执行文件并恢复为带类型的 C/C++,再用同时代的 Visual C++ 4.0 编译每个函数,在映射重定位后与原文件逐字节比较。同一套源码还可构建 MinGW Windows 游戏和可移植核心库。精确重建仍在进行中;REA 另行发布的声像展示只覆盖其中一个函数。

为 Final Fantasy VII 美版 PlayStation 发行版重建 C 源码,目标是让代码重新编译出原版主可执行文件及各游戏覆盖段(overlay)。构建流程用 splat 拆分使用者自备的光盘文件,以当年的 cc1-psx 编译器编译,并用 SHA-1 校验每个重建文件。基于 PsyZ(PlayStation 库替代实现)的原生构建会在 CI 中编译,但未作为可游玩的移植版加以说明。

将 GoldenEye 007 的 Nintendo 64 代码重建为 C 源码,可重新构建美版、日版和 PAL 版 ROM。素材取自使用者自备的美版 ROM,日版与 PAL 版的差异部分则取自各自的 ROM;默认构建会将每个产物与记录的 SHA-1 比对。README 仍称项目在进行中,而可变的状态页报告全部 208 个文件已完成;它与另行收录的 PC 移植不同。

将 Gran Turismo 4(《GT 赛车 4》)的 PS2 引擎可执行文件(CORE.GT4,NTSC-U v1.01)按每个函数一个 C 或 C++ 源文件反编译,面向 Sony 的 ee-gcc 2.96,并用 newlib、Expat 等公开库自身的源码匹配其函数。README 称大部分匹配工作由驱动项目工具的 AI 智能体(Anthropic 的 Claude)完成,每个函数须通过编译器与判定器的比对才算完成,并报告 2026 年 10 月某次提交时 95.4% 的函数和 83.6% 的代码字节已匹配。本地完整构建将源码链接到原始地址,其余部分用反汇编补齐,再与使用者的可执行文件比较 SHA-1。

Halo 2(初代 Xbox)的进行中一致性反编译:贡献者编写 C 与 C++ 代码,由原时代编译器以链接时代码生成方式构建整个程序,须逐函数还原出零售版可执行文件的字节。README 报告游戏函数字节的匹配比例接近一半,原生移植留待后续阶段。项目披露维护者的大量工作在 Claude 与 Codex 编程智能体流水线中进行。

将 Fatal Frame(《零》)PS2 可执行文件的美版、欧版和日版重建为 C,使用原始的 EE-GCC 2.9 工具链构建,并以使用者自备可执行文件的 SHA-1 校验结果。仓库提交的 objdiff 报告显示美版和欧版代码已全部匹配、日版仅部分匹配,少数例程仍依赖汇编或字节补丁。移植到现代硬件是项目声明的后续目标,不在本仓库范围内。

以同一套源码和游戏原用的编译器版本,重建《ICO》PAL 版(SCES-50760)与日版(SCPS-11003)PlayStation 2 光盘的启动 ELF,并检查载入的每个字节以及整个 ELF 文件都与光盘的 SHA-1 一致。73 个只含数据的归档成员在构建时由使用者自己的 ELF 生成,因此大部分只读数据仍取自光盘而非源码。另有独立分支面向美版、韩版和 2001 年 8 月原型版,本目录收录的 ICO PC 移植即是这套源码的分叉。

将 Nintendo DS 欧版《王国之心 358/2 Days》的 ARM9 程序及覆盖模块重建为 C 源码,以 CodeWarrior 重新编译后逐字节一致。README 报告全部 306 个模块字节一致,约 99.5% 的函数为真正的 C,库自身的汇编另行统计;ARM7 二进制不在范围内。仓库不含 ROM、游戏素材或提取的反汇编,也不生成可玩版本。

依据游戏内信息和静态或动态分析,为《塞尔达传说:姆吉拉的假面》重建 C 源码库,并重新构建美版 Nintendo 64 ROM。构建流程从使用者自备的 ROM 中取得素材和汇编,再用仓库保存的 MD5 校验输出。团队声明不会制作 PC 移植;另行收录的 Zelda 64: Recompiled 只注明借用了其头文件和部分函数。

《马力欧卡丁车 Wii》的进行中一致性反编译,目标为 PAL 版(RMCP01):用 Metrowerks 编译器从 C 与 C++ 源码重建 main.dol 和 StaticR.rel 模块,并与仓库保存的 SHA-1 比对。构建从使用者自备的光盘镜像中拆分这些二进制,开发时用 objdiff 比对目标文件。README 的进度徽章指向的 decomp.dev 页面在审阅时无法访问,默认分支最后更新于 2025 年 9 月。

《马力欧卡丁车:双重冲刺!!》的进行中 1:1 反编译:用原版 Metrowerks 编译器从 C 与 C++ 源码重建美版调试构建(MarioClub_us)的 GameCube main.dol,并与仓库保存的 SHA-1 比对。构建从使用者自备的光盘镜像中拆分二进制,开发时用 objdiff 比对目标文件。decomp.dev 报告所审提交有 47.09% 的代码已匹配;欧版零售目标虽已配置,但标注为尚不可用。

将 Mario Party 4 的 GameCube 主程序和 REL 模块重建为 C 源码,可重新构建两个美版发行版本。构建会分析使用者自备的光盘镜像,并按各版本的 SHA-1 清单检查每个链接产物。欧版和日版工作已停滞,也尚无 PC 移植;此处的一致性结果仍为项目报告。

将美版 PlayStation《MediEvil》逐步反编译为 C 源码,目标是重新生成其主程序、游戏程序及 26 个覆盖模块。splat 拆分使用者自备的光盘文件,默认构建会将全部 28 个产物与 SHA-1 校验值比较。README 称项目仍在进行中,未公布进度数据。

为《密特罗德 Prime》GameCube 版的可执行文件及其 NES 模拟器模块重建 C++ 源码,使 CodeWarrior 编译结果与原文件一致,涵盖美版、韩版、PAL 版与日版,另有针对体验版光盘和三个 Wii 版本的早期配置。已匹配的单元由源码编译,再与从使用者光盘中拆分出的对象链接,并按各版本的 SHA-1 哈希校验;仓库不含游戏素材或汇编。另行收录的 Metaforce 与 Metroid Prime Port 都在这份代码之上构建原生移植。

将 Legacy Console Edition 系列中的 Minecraft: Nintendo Switch Edition v1.0.17 反编译为 C++,借助打过补丁的 Clang 4.0.1 和 open-ead 的 Switch 反编译工具,与原可执行文件逐函数比较。README 解释了选用 Switch 版的原因:其 Clang 工具链可以匹配且带有类型信息,函数名则从带符号的 Wii U Edition 移植而来。所审提交时函数列表标记约 11% 的函数已反编译,其中大多已匹配;产物无法运行游戏。

借助游戏本身的信息以及静态与动态分析,为《时之笛》重建 C 源码库,可重新构建 Nintendo 64、GameCube 和 iQue Player 共 16 个 ROM 版本。素材取自使用者自备的 ROM,默认构建会以对应版本的 MD5 校验;README 说明项目不制作 PC 移植,并仍称仓库处于开发中。

将 Paper Mario 的 Nintendo 64 代码重建为 C 源码,可重新构建美版、日版、PAL 版和 iQue 版 ROM。构建流程从使用者自备的原 ROM 取得素材和比较输入,再将每个产物与记录的 SHA-1 比对。项目可变的进度报告显示已无未匹配函数,但 README 仍称反编译在进行中;该项目与 PaperBoat 原生移植不同。

《纸片马力欧 RPG》(Paper Mario: The Thousand-Year Door)的进行中一致性反编译,目标为日版 Rev 0 GameCube 版本(G8MJ01):用原版 Metrowerks 编译器重建 MarioSt.dol 和 31 个 REL 模块,并逐一与仓库保存的 SHA-1 比对。构建从使用者自备的光盘镜像中拆分这些二进制,开发时用 objdiff 比对目标文件。decomp.dev 报告所审提交有 12.10% 的代码已匹配。

重建 Perfect Dark 的 Nintendo 64 代码,并提供生成一致 ROM 的构建流程。项目将重建源码与使用者自备原 ROM 中的素材结合,再检查各版本产物的哈希。这是可复现构建研究案例,与独立的原生 PC 移植不同;此处的一致性结果仍为项目报告。

将 Super Mario Galaxy 的 Wii 代码重建为 C++,并以使用者从自有日版、北美版、PAL 版或韩版光盘中提取的 main.dol 为目标,逐个目标文件重建。已匹配的目标文件由源码链接,并通过 objdiff 和目标哈希检查。项目自称仍在进行中,与任何 PC 移植无关,并表示不接受 AI 生成的反编译代码。

通过手工反编译,为《塞尔达传说 幻影沙漏》的欧版与美版 Nintendo DS 重建 C++ 源码:借助 dsd 工具集从使用者自备的 ROM 中拆分代码,再重新构建 ROM。objdiff 逐个函数跟踪匹配情况,默认构建会将输出 ROM 与仓库保存的 SHA-1 比对。项目仍处于早期阶段:decomp.dev 报告所审提交有 2.82% 的代码已匹配。

由爱好者进行的《皮克敏2》反编译项目:用原版 Metrowerks 编译器为五个 GameCube 版本(美版零售版、两个美版体验版、PAL 版和日版)重建 main.dol,并逐一与仓库保存的 SHA-1 比对。构建读取使用者自有各版本中的 main.dol。decomp.dev 报告所审提交中各版本的代码均已全部匹配并完全链接;另有非一致性模式,可完全由 C++ 源码构建美版 DOL 以供模组制作。

以 RGBDS 汇编重建 Game Boy Color 游戏《精灵宝可梦 水晶》,图像、地图和数据以可编辑的源文件保存。同一源码树可构建国际版 1.0 与 1.1、澳大利亚版、两个调试构建以及一个 Virtual Console 补丁,并逐一与记录的 SHA-1 比对。配套文档说明脚本命令格式以及原版游戏中的已知错误。

以 RGBDS 汇编重建 Game Boy 游戏《精灵宝可梦 红/蓝》,图像和数据以可编辑的源文件保存。同一源码树可构建美版/欧版红、蓝 ROM、一个蓝版调试构建以及 Virtual Console 版本的补丁,并逐一与记录的 SHA-1 比对。它是完整的反汇编项目,而非反编译为高级语言的源码。

以 C 源码重建 Game Boy Advance 游戏《精灵宝可梦 红宝石/蓝宝石》,使用 pret 的 agbcc 编译器构建,并附有汇编数据脚本和可编辑图像。一致构建涵盖英文版 1.0、1.1、1.2 修订版、调试构建以及德文初版,并逐一与保存的 SHA-1 比对。另有使用现代 GCC 的构建目标,不以一致为目标。

为 Game Boy Advance 版《宝可梦 绿宝石》重建可构建的 C 源码,游戏脚本和数据以汇编指令形式保存。默认的 agbcc 构建生成 pokeemerald.gba,make compare 将其与英文原版 ROM 的 SHA-1 比对;可选的现代 GCC 构建不做哈希校验。图像和音频源文件已提交在仓库中,因此文档所述的构建流程不读取原 ROM。

为 Game Boy Advance 英文版《宝可梦 火红/叶绿》重建可构建的 C 源码,游戏脚本和数据以汇编指令形式保存。默认的 agbcc 构建可生成六个 ROM 镜像,涵盖两款游戏的 1.0 与 1.1 版本及两个标为 switch 的变体,并分别按各自的 SHA-1 清单校验。图像和音频源文件已提交在仓库中,因此文档所述的构建流程不读取原 ROM。

以进行中的反汇编项目重建美版 Nintendo DS《宝可梦 心金/魂银》,其中部分代码已反编译为 C。每次默认构建都会按各游戏的 SHA-1 清单校验 ARM9 与 ARM7 二进制、文件系统及完整 ROM。README 提醒,由于反编译尚未完成,改变代码或数据布局的修改可能导致游戏崩溃。

将美版 Nintendo DS《宝可梦 白金》重建为 C 源码,默认重建修订版 1,也可按需构建修订版 0。默认的 make 目标会运行 Meson 检查,按 SHA-1 清单校验代码二进制、文件系统及完整 ROM。README 仍称项目在进行中;贡献指南表示代码已全部为 C,但其中大量仍晦涩难懂,因此主要工作是文档和工具。

以 C 语言重建 Pokéwalker 的固件。Pokéwalker 是《宝可梦 心金/魂银》配套的计步器配件,采用 Renesas H8/38606 微控制器。README 报告,使用从使用者自备的零售固件镜像中取得的美术素材及受支持的 Renesas 编译器套件,可重新构建出逐字节相同的 48 KiB 镜像;没有该镜像时,项目原创的占位美术只能生成不一致的参考构建。作者称其结合已公开的硬件研究,对零售二进制文件、心金/魂银 ROM 及候选编译器进行了反汇编和反编译。

为 2002 年《Ratchet & Clank》PlayStation 2 欧版 v2.00 可执行文件 SCES_509.16 重建 C 源码,每个函数都链接在零售版的原地址。尚未反编译的函数仍由从使用者自备可执行文件生成的反汇编构建,构建会对照零售版审核函数、布局和整个映像。项目记录了由 LLM 代理执行匹配的流程,并以成文的构建保真规则界定何为匹配。

为 Resident Evil 4 的双光盘 GameCube 调试原型版(G4BE08)重建 C 与 C++ 源码,并用 README 所列编译器重新构建 main.dol 及全部 114 个 REL 覆盖模块,逐一与 SHA-1 清单比对。函数名沿用调试版 Bio4.sym 符号文件中 Capcom 自己的命名,多数结构体与字段名则依据 PS2 调试版的调试信息对齐得出。项目的研究日志称一致性工作由 AI 智能体完成;字节一致为项目报告的结果。

反编译 sead,即 Nintendo 静态链接进其第一方游戏的 C++ 标准库,涵盖容器、堆、字符串、数学、文件设备、线程、游戏框架和图形等模块。编译期预设针对《旷野之息》《超级马力欧 奥德赛》《斯普拉遁 3》《王国之泪》和《超级马力欧兄弟 惊奇》所用的较新版本,《旷野之息》等游戏反编译项目以子模块方式引入它。命名来自零售游戏中的调试符号和断言,README 也提醒许多内联与模板函数的名称只是猜测。

以使用者自备的 NTSC-U 1.0(SOUE01)光盘文件为起点,为《塞尔达传说 天空之剑》Wii 版的 main.dol 和 REL 模块重建 C++ 源码。标为一致的对象由源码编译,再与从原文件拆分出的其余对象链接,并以 SHA-1 哈希校验结果;仓库不含素材或汇编,也不是移植。

将《Sly Cooper and the Thievius Raccoonus》PlayStation 2 美版可执行文件 SCUS_971.98 重建为源码,属于进行中的一致性反编译。尚未匹配的函数仍由从使用者自备可执行文件中拆分出的汇编构建,构建会检查链接后 ELF 的 SHA-1。产物需在 PCSX2 中配合原版光盘素材运行,并不是原生 PC 移植。

N64 游戏 Snowboard Kids 2 的公开匹配反编译项目,2024 年借助社区反编译工具启动。作者在按日期发布的文章中记录了 Claude、Codex 和 GLM 的使用流程,包括无界面的一次性匹配循环、按函数相似度安排任务,以及由钩子约束、经哈希校验的构建,直至报告全部函数完成匹配。

原版 Nintendo 64 游戏 Snowboard Kids 的匹配反编译,利用使用者自备的 ROM 重新构建 SHA1 一致的北美版与日版 ROM。作者在 84 天复盘文章中介绍了通过自建的 Nigel 工具调度编程智能体,并结合 m2c、permuter 与共享编译器经验文件的流程,同时表示不应把提速完全归功于大模型。它与 Snowboard Kids 2 反编译是不同的项目。

将 Game Boy Advance 版《索尼克 Advance》和《索尼克 Advance 2》重建为 C 源码,借助 SAT-R 的 agbcc 分支重新构建六个列有哈希值的 ROM,同一套代码还可编译为面向 Linux、macOS 和 Windows 的宽屏 SDL 移植版,以及 PSP 和 PS2 版本。README 报告《索尼克 Advance 2》已全部由 C 构建,仍有约 60 个函数不一致。提取出的图像、音乐和数据都提交在仓库中,因此构建时不读取原 ROM。

Macabeus 在注明日期的研究文章中,介绍了如何把汇编、相似的已反编译函数和结构体放进提示词,让 Claude Sonnet 3.5 与 DeepSeek R1 为社区 Sonic Advance 3 GBA 反编译项目中的敌人模块 Marun 编写匹配的 C 代码。由此产生的拉取请求替换了该模块的汇编并已合并;作者认为这一场景对 AI 格外友好,而该项目现已不接受源自大模型的贡献。

为 Nintendo 64 版《星际火狐 64》美版 1.1(Rev A)重建 C 源码;借助静态重编译运行的 IDO 编译器编译后,可重建出 MD5 与公布值一致的 ROM,README 徽章显示全部 2,951 个函数均已一致。构建时从使用者自备的 ROM 中拆分代码与素材,仓库本身不含素材或汇编。另行收录的 Starship PC 移植直接编译这份 C 代码,Starfox 64: Recompiled 则从中取用头文件和部分函数来编写补丁。

为《超级马力欧 奥德赛》Switch 1.0 版主程序重建 C++ 源码,并用共享的 nx-decomp-tools 检查器逐个函数与原始 AArch64 机器码比对。在所审固定提交中,其函数清单将 74,171 个函数中的 18,996 个标为一致。README 提醒构建结果不是可游玩的游戏;仓库不含游戏素材,sead、agl 等任天堂库则来自 open-ead 另行维护的重建项目。

将 doldecomp 的 Super Mario Sunshine 反编译工作扩展到北美 GMSE01 版本。README 称大量使用了 AI,仓库中的智能体规则、工作顺序和进度文件也记录了按批次编排 Claude 与 Codex 的方式。项目报告重建的 DOL 逐字节一致,但尚未完成的目标文件仍取自使用者光盘中提取的代码。

重建 Super Mario Sunshine 的 C++ 源码,目标是让原版 Metrowerks 编译器为四个 GameCube 发行版本及 Switch 版 3D All-Stars 生成逐字节一致的目标文件。目标二进制取自使用者自备的光盘镜像,objdiff 按函数比对重建出的目标文件。工作尚未完成,仓库在人工流程之外还发布了面向 AI 智能体的贡献规则。

《任天堂明星大乱斗X》(Super Smash Bros. Brawl)的进行中一致性反编译,目标为美版 Rev 2 Wii 版本(RSBE01_02):从使用者自备的光盘镜像中拆分 main.dol 和 126 个 REL 模块,并按仓库保存的 SHA-1 校验重建出的二进制。开发时用 objdiff 比对目标文件;另外六个地区修订版虽已列出,但在支持列表中被注释掉。decomp.dev 报告所审提交有 1.27% 的代码已匹配。

Super Smash Bros. Melee 美版 1.02(GALE01)的一致性反编译:使用原版 Metrowerks 编译器从 C 代码重建 main.dol,并与零售版的 SHA-1 比对。decomp.dev 报告所审提交的代码已完全反编译并链接,README 称目前工作主要是命名与清理。由于构建可以移位,另有非一致性模式,供模组作者加入代码,再配合自己转储的光盘运行生成的 DOL。

将 Syphon Filter: The Omega Strain 北美版 PlayStation 2 可执行文件的大部分代码重建为 C;其余函数保留为拆分出的汇编,整体构建可逐字节重现零售版 SCUS_972.64。仓库提交的 objdiff 报告以使用者自备的可执行文件为基准,追踪逐函数的匹配进度。这是一致性反编译案例,不是 PC 移植;进度数字仍为项目报告。

为日版 PC-98 Touhou 4:东方幻想乡重建源码,并在 Wine 下用固定版本的 Borland 工具链重新构建全部四个 DOS 程序:MAIN.EXE、OP.EXE、MAINE.EXE 和 ZUN.COM。针对原二进制的函数认定,与在模拟器中对照原游戏比较输入、随机数、对象池和画面的回放分开记录。完整流程、原始时序与字节一致性目标仍未完成。

为日版 Touhou 9.5:东方文花帖 1.02a 原可执行文件重建源码;只有使用固定版本 Visual C++ .NET 2003 构建、并与单一经哈希核验的目标进行可复现字节比较后,才认定函数级一致。整个程序也能编译链接为可游玩的 Windows i386 可执行文件,而 README 将可玩性、函数匹配与整个可执行文件一致性列为相互独立的状态。

依据游戏内信息和静态或动态分析,为《塞尔达传说:缩小帽》重建 C 源码库,可构建美版、欧版、日版及两个演示版共五个 Game Boy Advance ROM。每个版本的素材都来自使用者自备的原始 ROM,常规构建会核对产物的 SHA-1 哈希。项目仍在进行中,ROM 的部分内容可能尚不能移动。

逐字节重建 The Sims: Bustin' Out 的 Game Boy Advance 美欧版,并逐步用 agbcc 编译、结果一致的 C 代码替换 ROM 区域。README 称这是由 AI 驱动的实验,几乎所有代码、分析与工具都由 AI 生成。ROM 的大部分仍从使用者的转储中复制,因此整个 ROM 一致并不代表游戏已完成反编译。

为《塞尔达传说 风之杖》GameCube 版的可执行文件和 REL 模块重建源码,涵盖美版/韩版、PAL 版、日版及日本体验版。已匹配的单元由源码编译,再与从使用者光盘中拆分出的对象链接,并按各版本的 SHA-1 哈希校验;仓库不含素材或汇编,范围是 GameCube 版而非 HD 重制版。

为 Touhou 6:东方红魔乡 1.02h 版的 Windows 可执行文件重建 C++ 源码,目标是用原版 Visual Studio .NET 2002 与 DirectX 8 工具链精确重新构建。reccmp 和 objdiff 将重建的二进制与使用者自备的原可执行文件逐函数比较。仓库内的进度徽章报告函数已全部实现、字节准确率为 98.03%,因此不主张整个二进制完全一致。

为 Touhou 7:东方妖妖梦 1.00b 版的 Windows 可执行文件及其 custom.exe 设置工具重建 C++ 源码,使用原版 Visual Studio .NET 2002 与 DirectX 8 工具链构建,并通过 reccmp 与使用者自备的原程序逐函数比较。仓库内的进度徽章报告 th07.exe 已全部实现、准确率 99.78%,custom.exe 已完全匹配。README 称游戏应可完整游玩,但匹配构建会触发游戏自身的完整性检查;跨平台移植位于其他分支。

重建《塞尔达传说 黄昏公主》的源码,使其能重新编译出与原版一致的二进制文件;GameCube、Wii 与 Nvidia Shield 各版本通过条件编译共用同一套代码。README 报告 GameCube 版代码已完全一致,但尚未链接全部翻译单元,调试版与 Wii 版的对齐仍在进行;仓库不含素材或汇编,也不会制作移植。

Wii Menu(即主机的 System Menu,IPL)的反编译重建,仍在进行中,针对 4.3 版的美、欧、日、韩四个版本。项目重建菜单自身的代码,以及链接进其中的 Revolution SDK、NintendoWare(NW4R)、EGG 和中间件库,并借助 decomp-toolkit 与 objdiff 逐个编译单元与原可执行文件比对。仓库不含任何素材或汇编;构建需要使用者自己的 Wii Menu WAD,且只生成 main.dol。

非匹配反编译

19 个案例

恢复出的源码以行为对照或未经核对,不追求逐字节重建。

Eric S. Raymond 将 Eben Sprinsock 于 1985 年发布的 DOS 共享软件游戏 Firefighter 移植为终端游戏。项目历史记载,ChatGPT 5.5 先将 DOS 二进制反编译为 Borland Pascal,再译为 Rust;之后 Raymond 改进了界面,并修正一处计分不符。玩法未变是作者的说法;中间 Pascal 代码及任何对照运行均未公开。

一个以 C 语言逐个函数重新实现初代 Xbox 版 Halo: Combat Evolved 的研究项目。重写的函数编译为独立映像,再修补进使用者自备的原版可执行文件,并从原有实现重定向过去,使这一混合版本能在开发过程中于 xemu 或 Xbox 上运行和调试。项目自述仍处于早期阶段,其来源也未记录与原代码的逐字节比较。

将 Bloodborne PS4 可执行文件(CUSA03173,含 1.09 更新)的代码逐个函数改写为可读的 C++,目标是在项目以净室方式自行编写的运行时上实现原生 PC 源码移植。它追求功能等价而非字节一致:每个替换函数都以钩子接入,在录制与生成的输入上与原始机器码对照比较,再经独立审核。项目仍处早期:README 报告 157,757 个函数中已验证 21 个,游戏尚不能在 Paleblood 自己的运行时上运行。

以开源的替代可执行文件重新实现 Oddworld: Abe’s Oddysee 与 Abe’s Exoddus 的引擎,在使用者自己的游戏目录中运行。团队先反编译原版可执行文件并逐步替换其中的函数,借助注入的 DLL 将重新实现的代码挂接到打过补丁的零售版程序中,之后再把成果改写为独立的跨平台引擎。项目网站称两款游戏均可完整通关,并修复了缺陷,支持窗口模式、高分辨率和手柄游玩。

以 PopCap 开源的 SexyAppFramework 为基础重建 Plants vs. Zombies 的 C++ 源码:起点是社区早先对 0.9.9 版的反编译,再补入从年度版(GOTY)逆向得到的功能,并以 GOTY 版地址标注函数。项目同时以现代 C++ 改造引擎,并正将 DirectDraw 与 Direct3D 7 渲染器替换为 GLFW。它构建出在原版游戏目录中运行的同人可执行文件,目标是现代化、可扩展的游戏,而不是完全一致的二进制。

重建 Retro Engine v3,即 2011 年 Sonic CD 重制版所用的引擎,作为可在 Windows、Linux、macOS 和 Android 上运行的原生 C++ 源码移植。引擎运行官方发行版中的游戏脚本和素材,仓库本身不附带这些内容;项目还加入了模组加载器、可重映射按键的设置文件、对移动版更新脚本的支持,以及更多开发者菜单调试快捷键。其许可证称代码大多在功能上与原作相同,而不是逐字节一致;同一团队的 RSDKv5 反编译另作独立案例收录。

反编译 Retro Engine(RSDK)v4——《索尼克》与《索尼克 2》(2013)所用的引擎——以及两款游戏中以原生代码实现的菜单,可构建 Windows、Linux 与 Android 版本。引擎运行官方发行版数据文件中的游戏脚本,这些文件需由使用者自备。项目增加了脚本编译器、模组加载器,以及《索尼克 2》双人对战的实验性联网模式;它是同一团队 RSDKv5 反编译项目的前身。

重建 Retro Engine(RSDK)v5 及 v5 Ultimate 运行时,即运行《索尼克狂欢》游戏代码的引擎,可构建 Windows、Linux、Switch 和 Android 版本。RSDKv5U 还能运行 RSDKv3 与 RSDKv4 游戏,例如 Sonic CD 和 Sonic 1 & 2。项目增加了模组加载器、着色器编译器和额外的 Windows 后端,且不附带任何游戏数据。

以 C 重建《索尼克狂欢》的游戏代码,并与另行反编译的 RSDKv5 或 RSDKv5U 引擎一起构建,支持 Windows、Linux、Switch 和 Android。素材必须来自官方发行的 Sonic Mania (Plus);项目加入了模组加载器,并可构建多个零售版本。其许可证称代码大多在功能上与原作相同,而不是逐字节一致。

作者的 REA 分叉(发帖时名为 rea-engine,后更名为 RE-Agent)反编译 GPL 许可的 TicTacToe-AI 游戏所发布的 .NET 可执行文件,重新编译恢复出的 C# 与资源,并依据原始 IL 修复一处反编译错误。差分探针在一个状态判定方法的全部 19,683 种棋盘赋值上运行原版与重建代码,并比较六张窗体渲染图。报告只判定该方法通过,整个游戏仍属部分重建。

作者使用固定版本的 REA 与 Ghidra,分析使用者自备的《宝可梦 究极之日》基础版可执行文件,由拆分出的对象逐字节重建该文件,并替换进两个编译后的小型 C 运行时例程。两处替换均经行为测试但与原字节不一致,其余字节均保持原样;同一段录制输入在 Azahar 模拟器中让原版与混合构建到达相同的卧室移动场景。零售编译器识别、精确匹配、模块加载及更广泛的游戏行为仍待解决。

将 Virtua Fighter 2 Version 2.1 的 Sega Model 2A i960 程序恢复为可移植、非一致性的 C17 代码,每条恢复路径须在受控边界上与参考 i960 执行器一致才被接受。仓库还提供 ROM 校验、i960 与 68000 分析工具、有限范围的 Model 2A 硬件模型,以及基于快照的差分运行器。README 说明它尚不是可游玩的移植;对战流程、格斗、物理、AI、光栅化及大部分音频仍未完成。

将 Wii U 美版《塞尔达传说 风之杖 HD》逐个函数反编译为 zeldaret/tww 风格的可读 C++,并让每个函数与由使用者自有副本静态重编译得到的原版函数并排运行,在生成输入和录制输入上比较返回值、内存写入和函数调用,同时检查覆盖率并进行变异测试。README 报告游戏 39,713 个函数中已有 28,244 个通过验证,其中来自 GameCube 版的 22,215 个函数里有 22,068 个。代码通过地址调用尚未反编译的函数,因此只能在 ZeldaWWHDRecomp 移植中运行,不能单独构建成游戏。

静态重编译

48 个案例

将原始机器码或字节码预先翻译成可编译代码,在替代运行时上原生运行。

使用 N64Recomp 将美版 1.0 Nintendo 64《Banjo-Kazooie》静态重编译为基于 N64ModernRuntime 的原生移植版,由 RT64 渲染并加入模组支持。与 Zelda 64: Recompiled 一样,它并非基于反编译源码构建;由《Banjo-Kazooie》反编译项目生成的符号仓库提供函数名称,用于在 ROM 中定位代码和编写补丁。

使用 N64Recomp 将 Nintendo 64 版 Castlevania 美版 1.0 静态重编译为原生 PC 移植,并以 RT64 渲染。游戏专用的 C 补丁基于另一个 Castlevania 64 反编译项目的头文件构建。在所审提交上标记的测试版发布报告构建可用并列出已知问题,而同一提交的 README 仍称项目尚未完成。

使用 N64Recomp 将美版 Nintendo 64《Conker's Bad Fur Day》静态重编译为基于 N64ModernRuntime 和 RT64 的原生 Windows、Linux 与 macOS 移植版。函数名称与边界来自仓库内置、仍以汇编为主的反编译项目,而重编译的代码取自用户的 ROM,因此尚未匹配的反编译 C 代码不会改变游戏行为。作者称整个项目大量使用了 Claude Code。

将 Capcom 街机基板上的 68000 游戏程序与 Z80 声音程序预先转译为 C++,并在为本项目编写的机器模型上运行,尚未转译的代码则交给解释器执行。一个启动器涵盖《街头霸王 Alpha》及《Alpha 2》、《超级益智战士 II Turbo》、《恶魔战士:救世主》及其变体、《恶魔猎人 2》、《异形大战铁血战士》以及 CPS-1 平台的《恐龙新世纪》,并加入训练模式、宽屏和三人游戏选项。转译代码由使用者自有的 ROM 套装生成,专门的检查构建会逐个代码块将其与解释器对比。

一个 Windows 启动器,借助 PSXRecomp 重编译器与运行时,将用户自备的《古惑狼 2》光盘转换为 C 代码并在本地编译,使游戏以原生代码配合模拟的 PlayStation 硬件层运行。仓库包含启动器、打过补丁的内置运行时以及详细的调试记录,不分发任何游戏代码或数据。

使用打过补丁的 XenonRecomp 静态重编译 Xbox 360 代码,并用打过补丁的 XenosRecomp 转换着色器,为 XBLA 尾声篇 Dead Rising 2: Case West 构建可在 Windows、Linux、Steam Deck 和 Apple Silicon Mac 上运行的原生移植。它与作者另一个 Case Zero 移植共用大部分运行时,在 Vulkan 上执行主机 GPU 命令流,并提供 XMA 音频和键鼠输入。通关情况与各平台结果均为项目报告。

使用打过补丁的 XenonRecomp 静态重编译 Xbox 360 代码,并用打过补丁的 XenosRecomp 转换着色器,为 XBLA 游戏 Dead Rising 2: Case Zero 构建可在 Windows、Linux、Steam Deck 和 Apple Silicon Mac 上运行的原生移植。专门编写的运行时提供 Vulkan 渲染器、XMA 音频、键鼠输入,以及通过作者的 XenonLive 服务实现的在线合作。通关情况与各平台结果均为项目报告。

借助固定版本的 snesrecomp 分支,将 SNES 版《大金刚国度》北美 v1.0 静态重编译为 Windows、macOS 与 iOS 原生程序;该框架把 65816 代码转译为 C,并链接到模拟 SNES 硬件的运行时。函数边界、入口标志状态与跳转表目标均取自一份逐字节一致的社区反汇编,而非靠启发式发现;游戏代码在本地由使用者经校验的 ROM 生成。可选的宽屏、CRT 滤镜、MSU-1 音乐和 Dixie Kong Country 变体都是宿主端附加功能,README 称这一移植处于可游玩的初步运行阶段。

借助 xboxrecomp 的分支将原版 Xbox《Dead or Alive Xtreme Beach Volleyball》可执行文件提升为 C 代码,并与手写运行时链接,由运行时替代内核导入、音频以及关键的 Direct3D 8 和 DirectSound API。安装程序依据使用者自有的美版光盘镜像在本地构建运行程序,并按经认证配方中的哈希校验生成文件;发布包只含工具和源码。将游戏逻辑改写为可读源码的工作目前只完成了启动线程入口。

使用 N64Recomp 将美版 Nintendo 64《大金刚 64》静态重编译为原生移植版,并以 RT64 作为渲染器。该移植并非基于反编译源码构建,但借用仍在进行中的 DK64 反编译项目的头文件和部分函数来实现补丁与增强。其重编译配置读取仓库内的符号转储和 ROM,而非反编译生成的 ELF。

将 Driver(PlayStation 美版)的 psxrecomp 静态重编译项目打包为“安装宿主”:发布包含重编译器、运行时和 recomp-ui 启动器,再由玩家电脑依据使用者自备的光盘镜像生成并编译游戏。仓库只包含配置、来自 Ghidra 的函数种子和发布自动化脚本,不含游戏代码。文档记录的状态较为有限:维护者确认一个私有构建可以进入游戏,而发布包的验收门槛仍未完成。

基于 JRickey 的 gba-recomp 工具链,将使用者自有的 Final Fantasy Tactics Advance(美版)Game Boy Advance ROM 预先重编译为可在 Windows、Linux 和 Steam Deck 上运行的原生代码。ARM 与 Thumb 代码被转译为 C 并在本地编译,Rust 运行时则模拟主机的图形、声音、DMA、定时器及 BIOS 调用。移植另行加入宽屏、缩放、快进和可重映射操作。

使用 PS2Recomp 将 PlayStation 2 版《战神》美版(SCUS-97399)可执行文件中的 MIPS R5900 代码静态重编译为 C++,并构建为 Windows 原生程序。自 2026 年 10 月起,移植以 Waffle565 的运行时为基础,用原生代码取代 PS2 硬件:VU1 微程序以及可选的游戏 IRX 模块会预先编译,OpenGL 渲染器则代替 GS。仓库只包含本作专用的函数映射、重编译器配置、覆盖实现与运行时补丁;README 报告已能在开场的船上关卡中游玩,而稳定 60 fps 与完整通关仍待完成。

借助 ReXGlue 静态重编译 SDK,将 Xbox 360 版 Peter Jackson's King Kong 转译为原生 Windows 代码,并加入启动器以及显示、操控和图形选项。项目代码按主机的方式完成流式光盘读取;README 称这使游戏越过了在 Xenia 中出现的开场卡死。作者披露,该移植几乎完全由 Claude Code 完成,仓库所有者负责指导和测试。

依据运行覆盖率和递归下降,反汇编 Sonic CD 光盘上的全部可执行文件并逐字节一致地重新汇编,再将代码静态翻译为 C,运行于从零编写、以高层实现替代 BIOS 的 Mega-CD 运行时。重编译代码块只在内存仍为其来源代码时执行,并有脚本以 96 段关卡运行逐帧对照解释器。项目还以补丁加入宽屏和逐区存档;结果仍为项目报告。

使用打过补丁的 XenonRecomp 工具转换 Lost Odyssey 的 Xbox 360 PowerPC 可执行文件,并在原生运行时上运行生成代码,经 Direct3D 12、Vulkan 或 Metal 渲染。Windows、Linux、macOS 和 Android 安装包导入使用者自己的光盘数据。维护者记录了借助 Claude Code 与 Codex CLI 的开发过程,并把每次发布与验证、验收分开记录。

使用 N64Recomp 将北美版 Nintendo 64《马力欧卡丁车 64》静态重编译为 Windows、Linux 与 macOS 原生应用,并通过 RT64 渲染。README 将其与源码移植区分开:游戏代码由使用者提供的 ROM 转换而来,反编译分支中的头文件和部分函数用于实现补丁与增强。增强功能、还原度和输入延迟等说法均为项目自述。

借助 snesrecomp 框架,将 SNES 版《洛克人 X》(美版 Rev 1)的 65816 CPU 代码静态转译为 C;PPU、音频、DMA 等硬件由框架运行时处理,静态分析无法证明的部分则交给源自 LakeSnes 的解释器执行。C 代码在本地由使用者的 ROM 生成,函数名取自社区的 DiztinGUIsh 注解。项目在此基础上加入可操作的 Zero、合作与回滚联机、X2/X3 的头目武器以及自适应宽屏,所用素材在本地从使用者自有的续作 ROM 中提取。

Super Smash Bros. Melee(NTSC 1.02)的 Windows 测试版构建,包含两套引擎:源码移植将 doldecomp 反编译编译为原生库,静态重编译则将零售版 DOL 的 PowerPC 代码及 Slippi 的 Gecko 代码转换为 C++。两者都运行在原生运行时上,提供 Direct3D 渲染、解锁的显示帧率和原生实现的 Slippi 回滚对战。全部游戏数据来自使用者自备的 ISO,README 称开发借助了 AI。

使用作者对 ReXGlue 的分支 ShiftGlue,将 Xbox 360 版 Forza Horizon 的 PowerPC 可执行文件提前转换为 C++,并依玩家自有光盘在其电脑上编译,构建原生移植版。专为该游戏编写的渲染器在 Vulkan 上执行其 GPU 命令;部分转换后的库代码(如 FMOD Ex 的 DSP 单元)由独立编写、并与转换后原版对照检查的原生代码替代。README 称其为可游玩的预览版,仍有渲染错误和卡顿。

从以运行覆盖率为种子的 65816 与 SuperFX 反汇编重建 Star Fox 2:反汇编可重新汇编为与原 ROM 一致的文件,再静态翻译为 C,生成原生 Windows、macOS 和 Linux 版本。未执行到的代码及与 ROM 不一致的 RAM 代码由解释器执行,README 报告其与解释运行的逐帧哈希一致。项目接受 SNES Classic 版映像,不支持 1995 年的原型版;结果仍为项目报告。

依据运行覆盖率和递归下降反汇编 Star Fox 的 65816 与 SuperFX 代码,重新汇编出与原 ROM 一致的文件,再静态翻译为 C,运行于从零编写的 SNES 运行时,支持 Windows、macOS 和 Linux。录制会话中未执行到的代码,以及与 ROM 不再一致的 RAM 代码,回退到解释器执行;README 报告两条路径的逐帧哈希一致。生成的 C 是机械翻译而非手工反编译的源码,结果仍为项目报告。

使用 N64Recomp 与 RSPRecomp,在经修改的 N64ModernRuntime、RecompFrontend 和 RT64 之上,将 Nintendo 64 版《Wave Race 64》美版 Rev 1 重编译为 Windows 原生程序。游戏与微码的 C 代码在本地由使用者的 ROM 生成:先将随附的宽屏补丁应用到临时副本,再按记录的校验和核对生成结果。移植加入了更高分辨率、帧插值、超宽视野、光栅化与光线追踪的反射和阴影、分屏或分窗口的双人游戏以及 RetroAchievements;维护者称其为 AI 辅助的重编译。

Saints Row(Xbox 360,2006)的非官方原生 Windows 移植:借助 ReXGlue SDK 将游戏的 PowerPC 可执行文件静态重编译为面向 x86-64 的 C++ 代码,该 SDK 还重新实现了主机的内核、GPU(基于 Direct3D 12)、音频与输入。重编译清单、游戏专用的函数替换和 SDK 补丁使结果得以运行,每位使用者都用自己的光盘在本地构建。README 报告游戏可完整通关、内置合作模式,并列出已知问题。

Savage Wind Recomp 是一个仍在开发中的静态重编译项目,旨在让 Nintendo Switch 版《塞尔达传说:旷野之息》在 Windows 和 Linux 上以原生程序运行。它在本地根据玩家自行提取的游戏文件构建代码;README 称前期区域可以游玩,但尚未确认主线全程可通关。

Sin & Punishment: Recompiled 使用 N64Recomp 和 RSPRecomp,基于用户提供的日版 N64 ROM 及仓库中的符号映射构建原生 C++ 移植程序,并通过 RT64 渲染。作者报告程序已进入标题画面;菜单导航、游戏流程、音频验证,以及补丁工作镜像的公开生成流程仍待完成。

借助 ReXGlue SDK 的 Skate 专用分支,将 Xbox 360 版《Skate 3》重编译为 Windows、Linux 与 macOS 原生版本。自 v2.0.0 起,基于 Direct3D 12 和 Vulkan、移植了游戏自身材质着色的原生渲染器取代对 Xbox 360 GPU 的模拟,模拟渲染器保留为后备。游戏文件来自使用者的光盘镜像;作者称原生渲染器尚处早期,且尚未完整测试整个游戏。

使用 N64Recomp 将 Pokémon Snap 美版 Nintendo 64 发行版静态重编译为原生 Windows、Linux、Steam Deck 和 macOS 移植,由 RT64 负责渲染。重编译器读取从一致性 ethteck/pokemonsnap 反编译项目链接出的可重定位 ELF 及使用者自备的 ROM,游戏侧补丁则是反编译函数的修改副本。作者报告借助 Claude Code 完成移植;各项结果仍为项目报告。

使用打过补丁的 XenonRecomp 将 Xbox 360 版《极品飞车:最高通缉》(2005)的可执行文件转换为原生 C++,并在项目自建的运行时上执行,由运行时代替主机的内核、Xenos GPU、XMA 音频和控制器。发布版面向 SteamOS、Linux 和 Apple 芯片 Mac,另有实验性的 iPhone 与 iPad 版本,所有游戏数据均来自玩家自有的美版光盘。渲染与帧节奏方面的改进均为项目自述。

Spider-Man 2 PS2 Recomp 对美版 PS2 游戏 SLUS-20776 进行静态重编译,目标是在 PC 上原生运行。仓库包含针对游戏的 Ghidra 函数映射、PS2Recomp 源码、运行时修复和硬件行为对照测试。作者报告 Windows 构建已到达版权画面,但仍不能游玩。

使用 N64: Recompiled 将 Nintendo 64 版 Star Fox 64 美版 1.1(Rev A)静态重编译为面向 Windows、Linux 和 macOS 的原生移植,并以 RT64 渲染。补丁与增强功能借用独立的 sf64 反编译项目中的头文件和部分函数,但移植本身并非由该反编译源码编译而成。README 报告支持高帧率、宽屏与模组,素材从使用者自备的 ROM 载入。

借助 ReXGlue 将 WWE SmackDown vs. Raw 2011 的 Xbox 360 可执行文件提前转换为 C++,并在源自 Xenia 的 Vulkan 运行时上构建为 Windows 程序。手工维护的清单补充自动分析遗漏的函数入口,项目补丁则处理帧节奏、音乐播放器延迟和渲染管线卡顿。作者仅在一款 AMD GPU 上测试了表演赛等模式;生涯模式与在线功能仍未测试。

使用 BlackLabelHQ 的 RecompOne 将北美 PlayStation 版《恶魔城:月下夜想曲》静态重编译为 C#;其运行时模拟 BIOS、内存映射 I/O、GPU 和光驱,使游戏无需主机 BIOS 即可原生运行。按覆盖段划分的函数映射与补丁加入了宽屏、便利性改进、随机器和作弊功能。项目借助 SOTN 反编译项目的资料为函数命名,但强调它是重编译而非反编译。

使用打过补丁的 XenonRecomp 将 Xbox 360 可执行文件提前转换为 C++,构建 The Darkness 的原生 Windows x64 移植。D3D11 渲染器直接使用引擎原有的几何数据、着色器源码和设备状态绘制,而不解释主机 GPU 命令包。游戏覆盖范围与 Linux 测试结果均为项目报告,作者披露开发中使用了 OpenAI Codex 辅助。

借助固定版本的 psxrecomp 分支,将这款 PlayStation 游戏的 MIPS 代码转换为 C,并基于其模拟硬件行为的运行时构建 Windows 与 Linux 程序,另附启动器和专用插件。插件在不修补游戏代码的前提下,实现比赛中的 16:9 画面、通过提高模拟 CPU 频率并修正移动量达到 60 FPS、跳过片头及全部解锁。需使用者自备 NTSC-U 光盘镜像;测量结果为作者报告。

使用随附的 xboxrecomp 工具包,将《The Lord of the Rings: The Two Towers》(Xbox 美版,2002)的 x86 代码静态重编译为 C,生成原生 Windows、Linux 及实验性 macOS 构建。重编译源码由玩家自己的 default.xbe 在本地生成,游戏数据来自其光盘镜像或已提取的文件夹。README 报告游戏可以完整游玩,并列出画面、帧率和模组方面的问题。

Weeping of the Empire 从用户自己的 Switch《塞尔达传说 王国之泪》转储构建原生 Windows 版本。它预先将 ARM64 代码重编译为 x86-64,以宿主运行时提供 Switch 系统服务,并通过 Vulkan 渲染。引擎文档说明其以 totk-recomp 为起点,另行开发了 Windows 移植、渲染、控制和菜单。

将《塞尔达传说 风之杖 HD》Wii U 版的 PowerPC 代码预先静态重编译为 C,原生重新实现游戏所用的 Cafe OS 库,并在 Metal 或 Vulkan 上实现 GX2 图形,生成无需 Cemu 运行时的 macOS、Linux、Windows 和 Android 原生版本。所有游戏代码和数据都由使用者自己的转储在本地生成;另有仅限 macOS 的实验性构建,可改为运行独立的 ZeldaWWHDDecomp/wwhd 反编译中的函数。

基于重建源码的移植

33 个案例

在新的平台层上编译既有反编译或重建源码,得到原生或网页版本。

以改编自 zeldaret/mm 反编译的源码为基础,构建《塞尔达传说:姆吉拉的假面》的原生 Windows、Linux 和 macOS 版本,并由 libultraship 重新实现 N64 SDK 函数。游戏数据来自使用者自备的 ROM,打包为可被自定义素材包覆盖的存档文件。它面向带增强功能的可玩 PC 移植,而不是逐字节一致的 ROM。

延续 3s-decomp 的 PS2 反编译成果,将《街头霸王 III:3rd Strike》构建为可在 Windows、macOS 和 Linux 上运行的原生 C 程序,以 SDL3 处理画面、输入和声音,以 GekkoNet 实现回滚联机。README 强调它既不是重编译,也不是模拟。移植版需要玩家自备 PS2 游戏文件,并以接近街机版的平衡性为目标;可选的 Statcheck 构建会用 Fightcade 对战录像中记录的 CPS3 内存状态来检验这一点。

让 Animal Crossing 反编译所得的 GameCube C 代码在 32 位 x86 上原生运行,用转换层把 GX 图形 API 映射到 OpenGL 3.3,并以基于 SDL2 的平台代码替代主机服务。游戏素材在启动时从使用者自己的光盘镜像读取,不随项目分发。这是基于 ACreTeam ac-decomp 的移植,而非与原可执行文件一致的重建。

Atlantis Native 把经逆向重建的 CryOmni3D Atlantis 引擎移植到 Rust,支持 Atlantis: The Lost Tales 与 Atlantis II。它读取用户自备游戏文件,在桌面系统和浏览器中运行原有脚本、全景画面、过场动画及谜题,并提供可选的显示改进和错误修复。

将 Dragon Ball Z: Budokai Tenkaichi 3(PS2 美版 SLUS-21678)的反编译代码编译到 PC,运行在新的渲染、音频、输入和平台层上,而非借助模拟器。游戏代码来自独立的 BT3-Decompiled 一致性反编译项目,游戏数据从使用者自备的光盘镜像读取。README 报告完整游戏流程可运行、联网对战处于实验阶段,并称项目借助 AI 完成;这些结果仍为项目报告。

在 Crash Team Racing: High Octane 移植版基础上扩展而成;High Octane 源自基于 CTR-ModSDK PlayStation 反编译成果的 CTR Native 移植。本分支面向 Windows 与 Linux,提供原生 3D 渲染器、可选画面比例及最高 240 FPS 帧率。反编译游戏代码仍假定 32 位指针,并从玩家自备的 NTSC-U 光盘镜像读取素材。项目附有渲染、计时和选项测试,但设备覆盖与还原度仍为项目自述。

d2mac-linux 将《Diablo II》1.14d Mac 版 i386 Mach-O 转为 ELF,并用 Zig 重写所需的 Darwin、Carbon 和 AGL 导入接口,使其移植到 32 位 Linux。兼容层将图形调用转为 GLX,并适配线程、文件与套接字;作者报告游戏可进入主菜单并创建角色。

将社区重建 Diablo 原始源码的 Devilution 精简分支编译为 WebAssembly,并配合 React 前端,使 Diablo 可在网页浏览器中运行。该分支移除了 Storm、DiabloUI、DirectX 和 Windows 依赖,并为浏览器改写事件处理。这是基于重建成果的移植,本身未报告一致性或行为等价检查。

以 zeldaret/tp 反编译项目和 Aurora GameCube/Wii 兼容层为基础,将《塞尔达传说 黄昏公主》重新实现为桌面与移动平台的原生应用。程序读取使用者自备的光盘镜像运行,不附带任何素材;项目力求忠于原作,同时加入新选项、增强功能和模组。

将反编译风格的游戏源码编译到 libultraship 平台库上,把 Super Mario 64 构建为原生 PC、Switch 和 Android 程序。附带的提取工具会在首次启动或构建时,把使用者自备的美版或日版 ROM 转换为 O2R 存档。项目提供现代渲染器、配置菜单和模组存档加载,而不是生成一致的 ROM。

将 PlayStation 2 游戏《ICO》的反编译 C 源码原生编译到 Windows、Linux、Android、iPhone 及 Apple 芯片 Mac 上,并以宿主代码替代 PS2 硬件和 Sony 函数库。项目不解释执行或重编译任何 PS2 代码,程序在首次启动时读取玩家自备的 PAL 光盘镜像。它是另一个逐字节匹配的反编译项目的原生移植,记录了与原版的差异,并提供可选增强功能。

将 khdays-decomp 一致性反编译的 C 代码编译为 Windows x64 程序,并以原生平台层替代 Nintendo DS 硬件、SDK 服务及声音驱动。README 报告整款游戏无需 ARM 解释器即可运行;渲染、操作、模组支持与网络联机均为移植自身新增。这是基于反编译的移植,与其所依托的逐字节一致 DS 重建并非同一产物。

将 LEGO Island 反编译源码改造为可在桌面、移动设备、游戏主机、DOS 及 Web 上构建的移植版本。项目以 SDL3、miniaudio、iniparser 和自行重新实现的 Direct3D Retained Mode 替代仅限 Windows 的子系统,并力求保持核心玩法不变。它移植的是重建源码,而不校验与原版逐字节一致的二进制文件,因此有别于精确重构建的反编译案例。

一个面向 Windows、Linux 和 macOS 的《Banjo-Kazooie》原生移植,将游戏 C 源码(其中许多标注了《Banjo-Kazooie》反编译项目中的文件路径)与重新实现 N64 SDK 的 libultraship 一起编译。Torch 将用户的 ROM 提取为素材归档;移植版还加入了 Anchor 联机、ROM 修改版与语言包支持以及随机器。与 Banjo: Recompiled 不同,它基于反编译源码构建,而非对 ROM 代码进行静态重编译。

Metaforce 于 2015 年作为《密特罗德 Prime》引擎的逆向重实现项目启动,现已在 PrimeDecomp 一致性反编译之上重写。其原生应用借助 Aurora GameCube 兼容层,将这些游戏代码以非一致模式编译为桌面和移动端程序,并读取使用者选择的光盘镜像。README 表示重写稳定之前暂不提供构建版本。

将 PrimeDecomp 对《密特罗德 Prime》游戏与引擎代码的反编译结果编译为原生 C++20 程序,支持 Linux、Windows 和 Android,另有实验性 macOS 版本。Aurora 提供 GameCube SDK 兼容层和渲染,移植版在运行时读取使用者自备的光盘镜像。作者声明部分代码是在其监督下借助 AI 编程助手编写的。

将 PS2 游戏 Fatal Frame(《零》)移植为无需模拟器的原生 PC 版本;仓库简介称其基于 Himuro 反编译项目。PS2 内核调用由桩函数替代,渲染、音频和界面由基于 SDL3 的新层实现,游戏数据则来自使用者自有的光盘。README 称移植仍处于很早期阶段,未发布一致性或还原度检查。

以 pmret 和 Paper Mario DX 项目为基础,将 Paper Mario 反编译源码编译为基于 libultraship 的原生美版应用。Torch 把使用者自己的 ROM 转换为本地素材归档,移植另加入多种渲染后端、增强功能和归档式模组。桌面版已有正式发布;Android、iOS 和网页构建则在开发分支中有文档说明。

基于 pret 反编译项目的分支,为《宝可梦 白金》构建原生 64 位 Windows 和 Linux 可执行文件,并以作者的 libntr 库替代 NitroSDK;同一源码树仍保留 DS ROM 构建和实验性的 Switch 目标。README 称游戏应可从头玩到尾,但可能出现崩溃和图形错误。预构建程序需要玩家自备美版 ROM,且该分支的默认构建不再运行 pret 的校验测试。

Salamander UEFI 将红白机游戏《沙罗曼蛇》的 6502 反汇编翻译成平台无关的 C 核心,移植为原生 UEFI Shell 应用。仓库提供 6502 反汇编器、基于用户自有 ROM 的资源提取器、宿主机测试和保真清单,以 UEFI GOP、输入和定时服务替代原主机环境。

以《时之笛》反编译项目的源码为基础,将游戏构建为原生 PC 程序,用 libultraship 替代 N64 的 libultra SDK,并以 DirectX 11、OpenGL 或 Metal 渲染。不随附游戏素材,而是从使用者自备的受支持 ROM 转换生成 .o2r 归档;移植版还加入了即时存档、替换与自定义素材等增强功能。

基于反编译源码构建原生 Super Mario 64 可执行文件,在 n64decomp 重建成果的 sm64-port 分支之上,增加渲染器、输入、视角、存档格式和外部数据等选项。游戏素材在构建时从使用者自备的 ROM 中提取。这是非一致性的增强移植,而不是逐字节一致的 ROM 重建。

基于沿用《马力欧卡丁车 64》反编译项目文件结构的源码,构建适用于 Windows、Linux、macOS 和 Switch 的原生移植,运行在 libultraship 重新实现的 N64 SDK 之上。随附的 Torch 提取器将使用者自备的美版 ROM 转换为素材归档,移植还增加了模组、自定义赛道和编辑器。README 未写明其上游反编译项目,也未发布一致性或还原度检查。

Star Fox 64 的原生 PC 移植:将游戏的反编译 C 代码与 libultraship 一同编译,该 N64 移植库重新实现了 libultra,并通过 Fast3D 渲染。首次运行时借助 Torch 工具把使用者的美版 ROM 转换为素材资源包,提供 Windows、Linux、macOS 和 Switch 版本。独立的静态重编译项目 Starfox 64: Recompiled 在其 README 中称本移植为采用不同技术的姊妹项目。

以固定版本的一致性反编译分支为基础,构建 Super Mario Sunshine 北美版的原生 PC 移植,并为图形、光盘、音频、输入和系统服务提供宿主平台层。该分支的 README 称,其代码的重建与匹配大量借助 AI;移植项目记录了脚本化回归哈希,以及与原版捕获数据的逐步对照。尚未匹配的函数仍可能与原版行为不同,游戏数据须来自使用者自己的光盘镜像。

使用 Emscripten 将日版 Touhou 8 1.00d 的重建 C++ 源码编译为 WebAssembly,并在游戏原有的 D3D8、DirectSound 与 DirectInput 形态接口之后接入 WebGL 2 渲染、Web Audio、浏览器输入和 IndexedDB 存档。玩家在本地选择自备的正版 DAT 文件。网页构建不主张与原二进制逐字节一致,是独立于已收录 TH08 重建的移植。

从一个仍在进行中的零售版可执行文件一致性反编译项目派生分支,将 Tony Hawk’s Pro Skater(PlayStation 美版)移植为原生 Windows 与 Linux 程序。反编译部分用 Psy-Q 工具链重新编译已重建的函数,并与使用者自备的零售可执行文件逐字节比对;移植部分则以 SDL2 和 OpenGL 服务取代 PlayStation 硬件和库。运行需使用者自备光盘镜像;一致性与可玩性结果仍为项目报告。

以 shao113 的 PlayStation 版 Vandal Hearts 一致性反编译为基础,新增日版一致性代码树,并将两者延伸为原生 Windows 与 Linux 移植。SDL2、OpenGL 或 Metal 及 OpenAL 后端替代主机的 GPU、GTE、CD-ROM/XA、SPU、MDEC 和手柄接口,同一可执行文件可运行美版、亚洲版和日版光盘。每次修改仍须通过一致性构建检查;Tactical Mode、高清包等 PC 专属功能均为可选。

引擎重实现

47 个案例

依据文件格式与观察到的行为重新编写引擎或规则,通常读取原始游戏数据运行。

以基于 SDL2 和 OpenGL 的跨平台 C++17 引擎重新实现 Microsoft 的《帝国时代》及其资料片《罗马复兴》,载入原版游戏的 DRS 归档和 language.dll 资源。README 称项目为兼容起见模仿 Windows API 和 Genie 引擎,部分代码依据反汇编重建;仓库另附格式笔记和用于检查原版数据文件的 Python 工具。目前只能通过多人会话进行非常基础的游戏,因此这是一个早期引擎案例,而非可替代原版游玩的实现。

以 Python 基于 Twisted 重新实现 Minecraft Alpha 与 Beta 时期多人游戏的服务端;其文档称这是从零编写的逆向实现,致谢了网络流量转储的提供者,并说明通用的 Minecraft 资料已贡献给社区 wiki。最终的 2.0 版支持 1.4.x 客户端协议,涵盖登录、区块传输、实体、服务端背包、光照、物理和 Anvil 存档,同时有意改变了区块加载和物品堆叠等行为。可插拔架构提供地形生成、季节和命令,另有几个小脚本用于查看数据包、NBT 和区域文件。

重新实现 Bullfrog 1997 年游戏 Theme Hospital 的引擎:游戏逻辑以 Lua 编写,图形、声音、影片和寻路由 C++ 处理,并建立在原游戏数据文件之上。README 报告完整战役已可通关,列出仍缺失的功能,并加入高分辨率和地图编辑器等扩展。它在原内容上重现游戏行为,而不是恢复 Bullfrog 的源码。

以原生 Rust 客户端、专用服务器和启动器重写 Minecraft: Java Edition 26.3,资源均由使用者自有的游戏副本生成。项目要求贡献者先阅读原版代码,tools/rea_vanilla.py 会调用固定版本的 REA,配合无界面 JADX 引擎分析官方发布的客户端与服务器 jar,查询类、方法及调用方。差分测试工具分别对真实游戏运行 Java 对照程序、对 Horizon 运行 Rust 探针;README 称全部 281 个测试通过,但这只涵盖它们所比较的内容。

以 C++ 和 OpenGL 重新实现《科学冒险》系列和《告别回忆》系列所用的 MAGES. 视觉小说引擎,通过按游戏划分的 Lua 配置,在同一个程序中运行使用者原版数据文件里的受支持作品。README 称至少有一款游戏(Memories Off 6 T-Wave)可以达成全部结局,但还没有任何游戏完全实现。项目的跟踪议题列出了对 Chaos;Head Love Chu Chu、Chaos;Child Love Chu Chu、Steins;Gate、Robotics;Notes Elite 等作品的部分支持。

以 Rust 基于 Bevy 和 wgpu 实现《使命召唤:现代战争 2》(2009)的独立运行时:通过原生 FastFile 读取器从使用者已安装的游戏中载入地图、模型、纹理和武器,并将其 Direct3D 9 着色器转换为 WGSL。已实现机器人、录像录制与回放,以及基于自定义 UDP 和 QUIC 主服务器的多人游戏;但 README 提醒游戏玩法仍不完整,存在缺失行为、错误和不同步。README 声明整个项目由大语言模型编写;NOTICE 列出参考过的社区项目,并说明曾用 Ghidra 阅读原版二进制文件。

以原生 C++ 在深度修改的 nCine 引擎上重新实现《爵士兔 2》(Jazz Jackrabbit 2,1998),首次启动时把使用者的原版游戏文件转换为自己的缓存。它可在桌面、移动设备、网页和众多自制软件主机平台上运行,支持多人游戏、增强的 Reforged 模式,并部分支持 JJ2+ 与 MLLE。项目用一个双向轨迹探针把非 Reforged 模式的移动与原版游戏对照,报告 406 个场景中有 376 个误差在 25 px/s 以内。

以 C++ 将 Mario Kart Wii 的物理引擎重新实现为命令行模拟器,延续 stblr/Hanachan 的目标:完全准确地回放计时赛幽灵记录。每个测试用例让引擎重放一条幽灵记录,并逐帧将赛车的位置、旋转、速度向量、速率和检查点状态与从原版游戏采集的轨迹比较。它只在行为层面重新实现物理部分,并非一致性反编译,也没有图形前端。

用 TypeScript、Three.js 和 React 重新实现 Little Big Adventure 2 的引擎,现在也涵盖 Little Big Adventure 1,在浏览器中运行,资源从使用者自有的游戏中导入。README 称这是完全重新设计实现,而非基于反汇编的方法:所有岛屿和建筑都可以探索,大部分图形和部分玩法已经可用,但游戏目前还无法通关。项目另外提供带角色脚本调试器的编辑器、VR 支持,以及由爱好者为等距场景制作的 3D 替换模型。

以可移植的 C++ 库重新实现 RenderWare Graphics 中间件 API 的大部分内容,可读写其 PS2、D3D8、D3D9 和 Xbox 平台的 DFF 模型与 TXD 纹理文件,并旨在于各平台格式之间转换。场景由 Direct3D 9 和 OpenGL 后端渲染,PS2 渲染仅作为测试可用。README 称其用途是渲染 GTA 游戏;BSP 世界文件尚不支持。

以 C++ 和 OpenGL 重新实现 Remedy Entertainment 的 Alan Wake 引擎(后来称为 Northlight),目标是借助使用者自己的游戏数据,以可移植方式运行《心灵杀手》和《心灵杀手:美国梦魇》,并把《量子破碎》乃至《控制》列为后续目标。README 只介绍了一个用于在已加载游戏数据中移动的自由视角相机,《美国梦魇》的脚本函数表在 278 个原生函数中实现了 16 个。仓库还附带处理这些游戏的归档、纹理、Havok 和音频格式的命令行工具。

为早期 Westwood 即时战略游戏提供以 C# 编写的引擎,并以模组形式重新诠释 Command & Conquer: Red Alert、Tiberian Dawn 和 Dune 2000。它通过自己的文件系统、MiniYAML 规则和 Lua 任务层加载原游戏内容,而不是运行或恢复 Westwood 的代码。玩法和界面有意遵循 OpenRA 自身的设计,因此并非对原可执行文件的忠实重现。

以 C++ 引擎重新实现原本用 x86 汇编编写的 RollerCoaster Tycoon 2,并在原游戏数据上运行。它可载入 RCT2 存档和场景,具备相应文件时也能载入 RCT1 场景,而保存时使用自己有文档说明的乐园格式。现代平台支持、界面与 AI 改动、更高上限和多人游戏都是有意扩展,并非对原版的复现。

以原生 macOS 应用重新实现 Rise of Nations: Extended Edition 引擎,包含 Metal 渲染器、确定性模拟、电脑对手,以及兼容的 BigHugeScript 编译器与虚拟机;美术、地图、规则和脚本均从使用者自有的 Windows 版安装目录读取。项目依据对带调试符号的可执行文件进行 Ghidra 研究后撰写的子系统规范及 JavaScript 参考工具,在大量使用 Claude Code 的情况下编写 C++17 实现。该早期版本可游玩教程与场景,其逐位一致性检查仍为项目报告。

以跨平台 C++ 引擎重新实现 Rockstar Games 的《侠盗猎车手 III》(2001),在正版 PC 游戏的数据上运行。项目自行实现了游戏 RenderWare 模型、纹理和归档的加载器,提供执行原版任务脚本的脚本机,并附带可选的 Qt 数据查看器。可玩程度有限:项目的任务追踪清单只将波特兰的六个早期剧情任务标为可完成。

以 Godot 项目和 GDScript 重新实现 SimCity 4,从使用者自有的 SimCity 4 安装目录读取 DBPF 归档、区域文件夹和城市存档。代码可绘制带城市缩略图的区域视图,并依据游戏的 UI 定义生成界面元素,可在 3D 中打开已存城市的地形与水面,还附带用于预览归档子文件的 DAT 浏览器。这是一个早期且已停滞的引擎案例,尚无模拟玩法,并非可替代原版的实现。

以 C++/SDL 引擎重新实现 MicroProse 的 UFO: Enemy Unknown(X-COM: UFO Defense)与 X-COM: Terror from the Deep,并在使用者自己的原游戏资源上运行。物品、飞行器、研究和任务等游戏数据以 YAML 规则集表达,这些规则集也承载其标准模组及更广泛的模组生态。这是复用原内容的克隆实现,而非恢复出的 MicroProse 代码。

在新的 Vulkan 引擎上用 C++ 重新实现 P.T. 的游戏逻辑,运行时从使用者自有的 PS4 版本读取关卡、模型、贴图、声音、脚本和过场动画。作者记录了逆向得出的文件格式,并以 shadPS4 模拟器作为行为与画面的对照参考。与原作的一致程度为作者报告,项目也披露使用了 AI 编程工具。

在原生 Nintendo DS 引擎中重新实现 Resident Evil 2 PS1 版的游戏规则,并用转换工具把使用者自有光盘中的数据转为 DS 格式。辅助脚本把 PS1 可执行文件包装成 ELF,供 REA 的 Ghidra 通道分析;分析笔记注明各部分所依据的 PS1 函数与数据表,链接该项目的 Reddit 帖称其借助 REA 和 Claude Code 完成。据报告 Leon 第一张光盘已可游玩,Claire 光盘、多数敌人类型和部分菜单仍未完成。

在 Unity(C#)中重新实现《侠盗猎车手:圣安地列斯》的引擎,从使用者自有的 PC 版安装中读取归档、RenderWare 模型与纹理、碰撞、动画、音频、文本和物品定义。README 表示这不会是完整的重新实现,重点在于游戏玩法、多人模式,以及可通过 C# 插件扩展和改装游戏的框架。项目开发已停滞:所有分支中最新的提交日期为 2022-09-30。

sh23ds 以 C 为 Nintendo 3DS 重建《寂静岭 2:导演剪辑版》的原生引擎,游戏数据由玩家自己的 PC 版本转换。项目从 PC 可执行文件还原逻辑、镜头、光照和事件;研究笔记记载使用 Ghidra 与 REA。作者报告在 Azahar 中可通关,但实体主机测试和部分 PC 行为仍待完善。

在新的 Rust 与 Bevy 引擎中重新实现《Skate 3》的滑行、技巧、擦边滑行和下板移动,运行时使用从使用者自有 Xbox 360 版游戏转换得到的素材,并加入难度设置和 .skate 自定义地图格式。物理说明引用了在 IDA 中读取的原版可执行文件的函数和常量,音频研究则读取另一个《Skate 3》静态重编译项目 research-hooks 分支产生的跟踪记录。README 称游戏玩法与原版的一致性仍在完善中,肯定了 dumbad 多年的格式研究,并说明这次重写借助了 AI 编程工具。

以可移植的 C++ 引擎重新实现 BioWare 的 Aurora 引擎及其后续衍生版本,在使用者已安装的游戏数据上运行,目标涵盖从《无冬之夜》到《龙腾世纪 II》的九款游戏。资源管理、大量 Aurora 文件格式、图形和声音均已实现,所有目标游戏都能在可自由飞行的旁观模式下显示部分游戏内场景。README 说明尚未实现正常的游戏流程,因此这是一个早期阶段的引擎案例,而非可以替代原版游玩的实现。

以 Rust 重建 NES 游戏《塞尔达传说 II:林克的冒险》,逐个替换游戏的 6502 例程,可运行于桌面、浏览器和 Android。内置解释器仍执行使用者的 ROM,并把已移植例程交给 Rust 实现;验证工具将 RAM、精灵、调色板和画面与参考模拟器逐帧比较。它是参考社区反汇编、以行为为准的类净室重建,而不是反编译,也还不是独立完整的引擎。

其他方法与分析

23 个案例

重托管运行时、分析、实验,以及证据不足以归入以上方法的案例。

bf-private-server 为《Brave Frontier》2.19.6 客户端重建可自行部署的服务端。C++23 服务处理游戏 HTTP 请求并以 SQLite 保存进度,配套 CDN Worker 和自有 Android 客户端补丁工具;仓库还记录请求表和启动流程。服务端以较早的模拟器分支为基础。

在 iPhone、iPad 和 Apple 芯片 Mac 上原生运行 Nintendo Switch 版自身的 aarch64 程序,仅改写依赖 Horizon 内核的指令,并以 Metal 提供其系统服务与 NVN 图形 API。着色器由使用者自有文件离线转译,项目另行加入触控界面与终局玩法。这是重新托管的兼容层,不是反编译或重编译出的源码。

一份注明版本日期的研究报告,记录已归档 Destiny 2 build 86657 客户端的 Sunrise/Dawn 重建:在本地模拟平台登录与所考察的 Bungie 服务契约,并补充重建的任务主机策略。报告把传输、解码、对象创建、呈现与游戏玩法结果分开记录,并连同所引来源保留已被推翻的结论。它记录案例本身,不提供运行时实现,也不是恢复出的 Bungie 后端;通关与原生实验结果仍为项目报告。

将 NVIDIA DLSS 5 库中的神经渲染网络重新实现为面向 AMD RX 9000(RDNA4)显卡的 Vulkan 计算着色器,并通过兼容 NGX 的核心模块以及 ReShade 或 Vulkan 层等途径提供给游戏。项目不分发权重:安装程序从使用者自己的 nvngx_dlssnr.dll 310.9.16 或 310.8.0 中提取权重并核对哈希。项目将输出与 NVIDIA DLL 在 RTX 5090 上的结果对比,报告画面接近但并非逐位一致。

REA 网站上 N0zoM1z0 的一篇文章(2026 年 10 月 13 日)依据注明日期的东方 Project 重建提交,探讨精确的函数匹配究竟需要更大的通用模型、针对编译器的专用模型,还是更好的检索。文章逐一介绍 TH09、TH095、TH04 与 TH08 中较晚的 GPT-6 系列会话攻克难以匹配函数的案例,以及 TH08 一次审计发现部分已接受函数含有错误浮点常量的经过。专用模型与强化学习的对比被作为未来实验提出,并未评估任何经过训练的专用模型。

面向马里奥和塞尔达两款 Game & Watch 掌机的自定义固件:把新编写的 C 代码修补进使用者自己的原厂固件备份,使原厂固件可与 retro-go 模拟器并存。Python 补丁工具会挂接原厂函数调用,重新定位原厂代码与数据并以 LZMA 压缩以腾出闪存,还能把两款机型的固件合并为一个镜像。仓库提交的符号表、交叉引用分析脚本和分析用 ELF 生成器支撑逆向工作,另有一份日志记录作者首次修补固件的过程。

GTA Mode 是为《SimCity 3000 Unlimited》加入可操控行人和车辆的原生插件,这些行人和车辆由插件生成。项目利用 Ghidra 对游戏二进制、GZCOM 插件加载机制、内存中的城市结构和精灵图档案的分析成果。C 插件在原游戏中运行,从游戏内存读取城市数据,并从用户安装的游戏文件解码图像;MODLOG.md 记录了地址、格式和未成功的尝试。

在 Windows 与 Linux 上原生运行 PS4 版《声名狼藉:次子》自身的 x86-64 代码:由运行时重新实现游戏所用的 PS4 系统库,并以源自 shadPS4 的核心将其 GPU 命令与着色器转换为 Vulkan。项目报告该移植可以游玩但仍在开发中,能进入游戏并通过最初几章,性能仍不稳定,也有尚未解决的图形问题。这是兼容运行时移植而非反编译重建,结果仍为项目报告。

MTG Arena Collection Export 重建 Magic: The Gathering Arena 的 Frontdoor 卡牌收藏请求。Python 客户端使用账户刷新令牌连接 TLS 套接字,以 2026 年的第 4 版帧和 protobuf 命令封套认证,再调用 Card_GetAllCards;独立文档记录了还原出的线协议。

OpenPigeon 是 TypeScript 编解码器,可读取十一款 GamePigeon 回合制 iMessage 游戏的状态,并将调用方提供的操作编码为消息。协议文档说明消息气泡标识、加密操作 URL、以长度为种子的置换密码和状态封装;仓库还提供用于编解码测试的消息采样。

将 PlayStation 2 版《Sly Cooper and the Thievius Raccoonus》美版重建为 Windows 和 Linux 上的原生 C++ 游戏,运行时使用从玩家自有光盘镜像中提取的数据。README 报告整部游戏均可游玩,同时仍在改进准确性并处理与原版的剩余差异。项目未说明其逆向工程方法,也未说明与另一个 sly1 反编译项目的关系。

REA 网站发表的一篇文章及其固定版本的证据说明,介绍一位作者以智能体驱动重建 TH08、TH095 与 TH04 的过程。文章依据公开提交与进度记录标注里程碑,区分精确比对与可游玩构建两类判定依据,并记录 TH08 一项检查漏查错误浮点字面量数据的问题。项目结果仍为作者报告;REA 的作用是为智能体提供分析证据,而非完成重建本身。

在 Windows 上原生运行 PS4 版《神秘海域:内森·德雷克合集》自身的 x86-64 可执行文件:由运行时提供 PS4 系统库,并以源自 shadPS4 的 Vulkan 渲染器执行 GPU 工作。该移植提供按游戏保存设置的启动器、分辨率补丁与现代超分辨率技术,其状态表报告三部游戏均可游玩,并列出未解决问题。这是兼容运行时移植而非反编译重建,结果仍为项目报告。

应用

62 个案例

全部主题

67 个案例带“应用”标签 · 查看全部 67 个 →

作者报告借助 REA 梳理 Screen Studio 的 Electron 安装包,在 Claude Code 协助下从混淆代码中读出六条自动缩放与光标规则,再让 Claude Code 依据这些规则编写独立的录屏和渲染程序。文章介绍了所用命令、证据、光标对齐检查以及复刻版的不足;复刻版和解出的代码均未公开。

将 Claude 桌面应用中 Claude Code“新会话”界面的字符风场背景,重新实现为可离线运行的 WebGL2 页面,并附带 38 个滑块的控制面板。作者报告先用 REA 对桌面外壳及其远程网页包进行静态调查,再以新编写的渲染器复用恢复出的时序与布局参数。它与原效果的视觉语言和交互方式相近,但不是逐像素一致的提取。

一篇中文文章把复刻 REA 自带 Notes 教学应用的 Python CSV 导出器故意改坏三个版本,展示简单的“导出再读回”测试能让三者全部通过,而以官方 JavaScript 格式化函数为参照、在 215 组固定输入上逐字节比较则能逐一识破。作者还通过 MCP 连接 REA 6.5.0,重新运行其 JavaScript 分析,并验证被改动的证据记录在导入时会被拒绝;这是对验收检查的研究,而非新的重建。

实现网易 UU 远程的非官方原生 Linux 被控端;维护者称协议行为来自对官方客户端流量及已发布程序的调查。Rust 实现将选定的桌面、输入和辅助工具通道连接到 Linux 服务,另有仍处于实验阶段的 Linux 控制端。作者将开发归因于 Claude 与 Codex,未确立 REA 使用。

在 Claude Code 本地浏览器桥接中替代 Claude in Chrome 扩展一端,把请求的操作交给 Browserbase 云端浏览器执行。作者的帖子串描述了逆向得到的消息格式,即每条 JSON 工具调用前加 4 字节小端长度;插件则将 17 个具名工具映射为 Stagehand/CDP 操作。这是已归档的互操作适配层,部分工具仅为占位实现,并非恢复出的 Anthropic 代码,也未经验证与扩展等价。

实现可替代 Meta AI 配套应用的 Android 客户端:直接使用 Ray-Ban Meta 眼镜自有的蓝牙与 Wi-Fi Direct 协议,导入媒体、提供设置,并用用户选择的模型回应“Hey Meta”。项目 wiki 记录了链路分层、加密、服务及 Meta 端的所有权流程,并列出 153 个未解问题。项目以实机试用代替测试套件,因此所述型号和固件之外的行为仍未经验证。

扩展 Wine 11.17,使已签名的 MSIX 商店应用(主要目标为 Shapr3D)无需源码或符号即可在 Linux 上安装运行。约 49,000 行改动新增了 DirectComposition 实现、合成交换链和应用模型宿主;微软自己的 XAML 与应用模型 DLL 则在使用者机器上从 Windows 11 镜像中提取后原样运行。作者称大部分逆向工程和代码由 Claude 完成;各应用支持程度不一,由项目回归测试检查。

记录 Race-Keeper “Instant Video” 记录仪所写的专有 .rkd 遥测格式(随附播放器仅支持 Windows),并以结果一致的 Python 与 Go 解析器把 GPS 和 IMU 通道导出为 Telemetry Overlay CSV 与 GPX。作者称十六进制分析和假设检验由 Claude Code 协助完成,并以已知车辆编号、赛道位置和车速作为锚点。字段含义依据作者自有录制数据的物理交叉核对得出,若干记录类型仍未完全解读。

一款原生 macOS 应用,用于获取 Elgato 4K X 采集卡的 10 位 P010 视频模式;项目称苹果内置的摄像头驱动不会向应用开放该模式。一个 root 权限辅助程序卸下该驱动,通过 libusb 直接执行采集卡的 USB 视频类(UVC)串流,为 Metal HDR 预览、HDR10 录制和编辑器提供画面。延迟数据和设备覆盖范围仍为作者报告。

一款原生 macOS 菜单栏应用,通过 LG webOS 电视在局域网内的加密 WebSocket 接口完成配对,可启动应用、切换输入源、调节音量和画面设置、发送指针输入并投放所选媒体。项目称 webOS 协议行为参考了公开的 Connect SDK,并沿用 PyWebOSTV 的注册清单。测试仅覆盖一台 webOS 5.0 电视。

在跨平台桌面与 Android 管理器中,通过三星 Galaxy Buds 专有的 RFCOMM 串口协议重新实现耳机控制。作者称通过分析耳机发出的二进制数据流并反汇编三星官方 Android 应用来恢复报文格式,并公开了 2019 款 Buds 和 Buds+ 的部分数据包笔记。除官方应用的设置外,它还提供电池统计、诊断、出厂自检、隐藏调试信息,以及适用型号的固件刷写。

在 macOS 上以 SwiftUI 应用和 Python 后台服务替代 ScanSnap Home,为富士通/PFU ScanSnap iX500 提供扫描:Wi-Fi 经由社区逆向的 VENS 协议,USB 经由 SANE,输出可搜索的 PDF。项目内置 bramheerink 的 GPL-2.0 驱动并为 macOS 做了扩展,还记录了更多握手字段和硬件状态字段,包括扫描键状态位。结果均为作者报告,仓库未公开测试或抓包记录。

以原生 macOS 菜单栏应用实现佳明手表的配套客户端:通过蓝牙配对,接收实时健康通知和原始 FIT 文件,并可上传至 Garmin Connect。源码注释称,GFDI 分帧、握手、文件传输和状态字段依据对一个自备佳明 Android 安装包的分析实现,并与 Gadgetbridge 等社区实现相互核对。设备验证仅涵盖一款手表;可选启用的 MCP 与 HTTP 接口只提供本地缓存的数据。

用 Go 重新实现 Cloudflare WARP 客户端的 MASQUE 模式:通过基于 QUIC/HTTP/3 的 Connect-IP(RFC 9484)隧道传输 IP 流量,并以原生 TUN 设备、SOCKS5 或 HTTP 代理、仅 TCP 的 L4 代理或端口转发等形式提供。RESEARCH.md 记录了作者如何借助 Frida、mitmproxy、JADX、IDA Free 和 Wireshark 分析官方 Android 客户端,弄清设备注册、TLS 客户端认证以及 Cloudflare 非标准的 cf-connect-ip 变体。它在官方客户端之外向 Cloudflare 服务注册并建立连接。

用 HTML5 和 JavaScript 重新实现 Winamp 2 的主窗口、均衡器和播放列表窗口,借助 Web Audio 实现播放、音量、声道平衡和均衡器,并渲染原有的经典 .wsz 皮肤,其文档称渲染效果与 Winamp 2.9 逐像素一致;Milkdrop 预设通过 Butterchurn 的 WebGL 移植版运行。它以 webamp npm 模块的形式发布,可嵌入网页,同一 monorepo 还运行着 webamp.org 和 skins.webamp.org 皮肤博物馆。其中的 webamp-modern 原型面向 Winamp 3/5 的现代皮肤,内含 MAKI 皮肤脚本解释器;MAKI 字节码格式原本没有公开文档,作者对其进行了逆向分析,并在仓库中写成文档。

以离线的 macOS、Android 和 iOS 客户端取代 WHOOP 官方配套应用:通过蓝牙与 WHOOP 4.0 及 5.0/MG 手环配对,解析其厂商自定义 GATT 帧,将手环中的历史数据转存到本地 SQLite,并在设备上计算恢复度、负荷、HRV 和睡眠。按手环型号分版本编写的协议参考记录了帧格式、校验、命令和传感器记录,建立在社区项目 my-whoop 与 goose 的成果之上。WHOOP 4.0 是受支持的路径;WHOOP 5.0/MG 的深层指标和 Oura 戒指支持仍属实验性。

以浏览器客户端替代 NIIMBOT 官方标签应用,可设计标签并通过 Web Bluetooth 或 Web Serial 打印,同一界面另有 Android(Capacitor)和 Windows(Tauri)版本。与打印机的通信由同一作者的 NiimBlueLib 实现,README 称其为最完整的 NIIMBOT 协议实现;协议记录在 NIIMBOT Community Wiki 上,打印失败机型的用户会被请求提供用官方应用打印时的数据包抓包。README 称客户端完全在浏览器中运行,标签数据也保存在浏览器里。

用一组 Rust crate 和 oura 命令行客户端重新实现 Oura Ring 第 3/4/5 代的低功耗蓝牙协议,可直接与戒指配对、认证并同步数据,无需 Oura 账户或云服务。作者称从反编译的 Android 应用中恢复了 GATT 布局、数据包帧格式和基于 AES 的应用认证流程,并依据 Ghidra 对应用原生库的反编译结果,移植了历史事件解码器以及 HRV、睡眠负债、夜间体温基线等若干设备端指标算法。事件内容以原始形式存入 SQLite,解码器改进后可重新解码。

把 Sony 仅限手机的 Headphones 应用的部分功能重建为 Windows、Linux 和 macOS 桌面客户端,通过蓝牙 RFCOMM 连接已配对的耳机,调整降噪、环境声和虚拟音效设置。作者称通过逆向手机应用定义了其控制协议;代码重建了报文封装,包括起止标记、字节转义、序列号、求和校验和确认应答,以及客户端发送的两条参数设置命令。据报告只有少数型号完全可用,主要是 WH-1000XM3,项目现已归档。

以 Go 库和一个可自行部署的小型网页应用,重新实现 C by GE(现名 Cync)智能灯泡应用的云端控制通道。作者称先用 Apktool 反编译 Android 应用,找到用于登录和设备列表的 JSON HTTP 接口,以及另一条连接厂商服务器的原始 TCP 协议,再结合代理记录的通信和 Smali 代码,推断出该协议以类型和长度开头的消息格式及各类数据包编码。最终的 API 可列出设备、读取状态,并设置开关、亮度、色温和 RGB 颜色。

Siriously 研究 macOS 27 中 Writing Tools 调用入口的变化,并通过 Services 客户端恢复弹窗。作者用 Objective-C 运行时探查与行为跟踪定位 WritingToolsUI 私有类,将所选文本送入弹窗,再通过辅助功能 API 回写结果。分析针对一个系统构建版本。

MSP CSV Export Format 还原 My Stocks Portfolio & Market 应用未公开的 CSV 导出格式。作者对照十一份 iOS 导出文件、应用显示内容和公开翻译字符串,整理列、数据块及交易重放规则;仓库提供无第三方依赖的 Python 解析器和合成样例,用于检查格式规则及异常输入。

Benro Polaris Firmware Patcher 研究 Polaris 相机控制器,将新版 libgphoto2 组件和针对 pgphoto 的修改打包进用户自备固件镜像。文档还梳理 Benro Connect 应用行为及其控制设备的 TCP 报文。作者报告已使用 Canon EOS R5 Mark II 完成端到端测试。

这份恶意软件分析报告研究一个木马化的 FL Studio 安装包,其中包含 Electron/NSIS 包装程序和 Go 信息窃取载荷。作者通过静态检查追踪安装流程,并在隔离的 Windows 环境中结合进程、注册表和网络记录研究载荷,报告了所恢复的命令控制机制。

原生二进制

7 个案例

全部主题

36 个案例带“二进制”标签 · 查看全部 36 个 →

一篇非官方的实测研究:先阅读 REA 源码,再在 27 类分析对象上对运行中的服务器发出 1,012 次有记录的调用,测量其按内容寻址的 Evidence 记录、按修订串联的未知项台账、带类型的拒绝、冷启动及响应上限。作者把这些机制对应到漏洞研究智能体上,论证为何不应过度声称结论。它评估的是 REA 的工具接口,而非重建案例或漏洞发现。

Fedele Mantuano 报告在离线 Docker 实验环境中让 Codex 借助 REA,对一个公开的 Windows 恶意软件样本做静态分析,全程不执行样本。文章区分了提取出的 JavaScript 代码包能够支持的行为与依赖从未获取的远程组件的推断,并将原本疑为信息窃取程序的样本重新归类为加载器。这是以作者审阅过的智能体报告为基础的防御性分析案例,不是重建,也不是动态引爆分析。

固件与硬件

19 个案例

全部主题

23 个案例带“固件”标签 · 查看全部 23 个 →

为 Supermodel 街机模拟器加入对 Real3D Pro-1000 的模拟。Pro-1000 是通过 SCSI 连接主机的图像生成器,世嘉 Model 3 的图形硬件即由其衍生。该实现可启动使用者自备的、来自 SDK 光盘的 Pro-1000 固件,模拟板上的中断、JTAG 与 UART 硬件,并在控制台中提供固件内置的监控程序。目前尚无任何画面输出,与 SCSI 主机的通信也尚未实现。

用 C 语言重新实现 Wii U 的 DMCU 固件。DMCU 是其 AMD 图形控制器中兼容 M68HC11 的显示微控制器,在 Wii 模式下读取视频接口(VI)状态,并配置显示输出、去隔行、缩放与过扫描。README 称这项工作基于对原固件的逆向工程,但并非逐字节一致的反编译,并说明项目仍在开发中。构建出的镜像经 evWii 插件载入后,在 Wii 模式下替代原厂固件。

模拟 Lexicon 224、224X 与 224XL 数字混响器,使其原厂固件能在浏览器页面或 JUCE 插件中运行。仓库分层包含 KiCad 原理图、门级与板级 Verilog 模型、以 8080 为主机的 C++ 模拟器及模拟输入/输出模型,并用使用者自备的 ROM 以较慢层级校验较快层级。这是仍在开发、文档尚未完成的硬件与固件模拟,并非恢复出的算法源码。

以可自托管的 C 服务器重新实现 Toniebox 所连接的 Boxine 云服务,使盒子能在本地获取音频、设置和无线下发内容,同时由用户控制哪些数据发往厂商。它可提供并缓存 tonie 音频,把其他音频转换为盒子使用的 TAF 格式,可将请求透传到原云端,并提供网页界面、MQTT 及 Home Assistant 集成。仓库中的 protobuf 定义描述了盒子的 freshness-check、RTNL 日志和 TAF 头部报文。

用运行在已 root 机器人上、与厂商固件并存的本地服务取代受支持扫地机器人的厂商云,并模拟固件所期待的云端接口,包括 miio 模拟云(dummycloud)以及对应 Midea MSmart 协议的实现。其 FAQ 说明,每支持一个新厂商,都需要在没有厂商文档的情况下逆向分析数据格式、认证和通信;Valetudo 将各家专有地图格式转换为统一的 ValetudoMap 格式,并保留 Dreame、Roborock、Viomi 地图文件的 Kaitai Struct 描述和一份 Midea protobuf 模式作为参考。它提供网页界面、带 Swagger UI 的 REST API 以及 MQTT/Home Assistant 集成,但明确不以与厂商应用功能对等为目标。

替换已解锁的第二代 Amazon Echo Dot(2016 年款,代号 biscuit)上的软件,使其通过 ESPHome API 成为本地 Home Assistant 语音终端:EchoMuse 自己的 Go 固件驱动麦克风、扬声器、LED 灯环和按键,局域网中的控制器负责唤醒词、设备管理和仪表盘。默认的 emOS 模式用项目自有的 init 和 busybox 取代 Amazon 的 Android 用户空间,同时保留取自机主自身启动镜像的 Dot 内核。工程日志记录了如何通过在设备上测量,并在原厂 FireOS 播放声音时对比混音器和 DAPM 状态,摸清编解码器通路、静音键等硬件行为。

sony-bravia-linux 调查基于 Linux 的前 Android 时代 Sony BRAVIA 平台,并为用户自建服务还原部分媒体和门户行为。文档记录了 2011 至 2012 年 AZ1、AZ2、AZ3 系列电视的遥控输入、浏览器媒体处理和 3D 信号表现;仓库也提供处理 H.264 3D SEI 等媒体流程的工具。

Hisense AEH-W41H1 本地控制项目通过 ESP32 板替换空调原有的 Wi-Fi 模块,或在原装 RTL8710C 模块上刷入 ESPHome 固件。固件通过空调的 RS-485 总线通信,并向 Home Assistant 提供温控和诊断信息。协议文档记录了通过设备观察确定的帧结构、校验和、总线角色及命令与状态的交互行为。

协议

91 个案例

全部主题

134 个案例带“协议”标签 · 查看全部 134 个 →

运行一套本地 HTTPS 与 MQTT 服务来替代 Roborock 云端,使受支持的扫地机在隔离网络中无需 root 或改装硬件即可保留实时地图与控制。维护者的技术说明回顾了早期的应用与流量分析,以及后来借助 Claude Code 和 Codex、在模拟固件环境中开展的调查。兼容性由项目及其用户按型号报告。

以与平台无关的 Python 重新实现 Apple 私有推送通知服务(APNs)协议的客户端:它以 Apple 设备身份完成激活,连接 APNs courier 服务器,生成限定于应用的令牌并接收推送通知。项目最初是作者 iMessage 逆向研究的概念验证,但当前重写版暂时移除了 IDS 和 iMessage 支持。它在 Apple 官方客户端之外使用 Apple 的服务。

从在演唱会和球赛现场用 Flipper Zero 录下的信号出发,把录音重放给手环,恢复出足以在家中点亮 PixMob 活动手环的部分红外协议。脉冲时序分析发现信号载波为 38 kHz、比特间隔约 700 微秒;项目再用 ESP32 做有针对性的暴力枚举,找到数百条颜色、渐变、随机和体感模式命令,现可通过 Arduino、Python 和网页工具发送。README 称这些结果远未穷尽,并指向一个后来通过 MCU 转储基本解出完整红外协议的仓库。

基于 SEEMOO 实验室逆向研究、用 Python 编写的 Apple AirDrop 协议命令行重新实现。它通过 _airdrop._tcp DNS-SD 发现接收方,经 HTTPS 发送二进制 plist 格式的 /Discover 和 /Ask 请求,并上传 gzip 压缩的 CPIO 归档,与 iOS 和 macOS 设备互传文件。它与 Apple 无关联。

记录 Hasbro 玩具 Furby Connect 的蓝牙低功耗(BLE)接口;据其说明,这些内容来自对配套应用原生库的分析、BLE 流量嗅探和反复试验。文档梳理了 GATT 服务,以及玩具中 Nordic 无线芯片和 GeneralPlus 控制器的命令与响应字节,涵盖动作序列、天线颜色、情绪数值、传感器报告和一个隐藏的调试界面。fluffd 是基于 noble BLE 库的 Node.js 守护进程,通过 HTTP API 和浏览器控制页面提供这些命令。

基于 asyncio 的 Python 库和命令行工具,通过重新实现 DMAP/DACP、Media Remote Protocol、Companion Link、AirPlay 和 RAOP 协议,充当 Apple TV 与 AirPlay 设备的独立客户端;其协议文档称这些协议均经逆向工程得出。该文档记录了恢复出的二进制格式、Zeroconf 属性、OPACK 编码、pair-setup 与 pair-verify 交互以及 Companion 命令,其中部分请求头取自 iPhone Remote 应用的 Wireshark 抓包;附带的 atvproxy 可中继 MRP、Companion 和 AirPlay 会话并打印解密后的消息,供进一步分析。在此基础上,pyatv 提供遥控、带推送更新的元数据、应用与账户切换、音频输出管理,以及向 Apple TV、HomePod 和第三方接收器的 AirPlay 推流。

用一个小型 Python 脚本重新实现 Samsung Galaxy Buds Pro 专有的空间音频消息,使电脑能实时获取耳机的头部追踪数据。脚本连接耳机的 GEARMANAGER(或 FACTORY)RFCOMM 串口服务,以起止标记和 CRC16-CCITT 校验封装数据包,通过 attach 消息和每两秒一次的保活消息开启传感器数据流,并从数据事件中解码旋转四元数。另有贡献者编写的脚本把四元数转换为欧拉角,经本机 UDP 转发给 Unity 接收端;效果仅以作者给出的示例输出展示。

记录 Even 应用与 Even Realities G2 智能眼镜之间的低功耗蓝牙协议,依据抓取的通信流量推断得出:包括 GATT 特征 UUID、含序号、分包和双字节服务 ID 字段的 8 字节传输头、针对载荷计算的 CRC-16/CCITT,以及 protobuf 编码的载荷和初步的 .proto 定义。基于 bleak 的 Python 示例会发送七个报文的会话握手,并调用提词器服务显示自定义文字。README 的状态表将连接、握手、提词器和日历小组件标为可用,通知标为部分可用,Even AI 和导航仍在研究中。

以 C++ 库和交互式命令行客户端重新实现 Fujifilm X 系列相机的 Wi-Fi 遥控协议,客户端需接入相机自建的无线接入点。头文件列出控制、事件和 JPEG 实时取景所用端口、报文类型及相机属性代码,源码注释保留了若干交互的十六进制记录,并注明“the app”发送的内容;客户端可连接相机、触发快门、录制视频、调整曝光参数与对焦点,并传输实时取景画面,还可选择输出到 Linux 摄像头设备。README 称该工具功能很有限、基本没有文档,因此协议知识只存在于代码和注释中,并无成文规范。

一个 Node.js 桥接程序:从官方应用或服务已停用或不开放的健身单车读取功率和踏频,再以标准的低功耗蓝牙 Cycling Power、Cycling Speed and Cadence 传感器及 ANT+ 自行车功率配置文件重新广播,使 Zwift、TrainerRoad、码表和运动手表能够使用这辆单车。作者的开发笔记记录了在厂商关停家用服务后,如何在 Flywheel Home Bike 的蓝牙 UART 服务上解析出其统计数据包;Peloton 支持通过 USB 串口适配器读取单车的数据线,Schwinn IC4 和 Keiser M 客户端则分别解析标准的 Fitness Machine Service 和 Keiser 公开文档中的广播数据。单车与应用的兼容性均为项目报告。

一个 Python 库,通过 Garmin 手表专有的 GFDI V2 低功耗蓝牙协议与手表通信,无需 Garmin Connect、手机或云服务。它实现了握手、多链路路由、COBS 分帧、CRC16 校验和 protobuf 服务报文,可流式读取心率、HRV、血氧、压力、Body Battery 和加速度计等类型化数据,并提供模拟器和录制会话回放,便于在没有硬件时开发。致谢部分说明协议逻辑和 schema 源自 Gadgetbridge;另有一份公开的分析记录,展示作者如何依据带标注的录制数据解出加速度计载荷,而 Gadgetbridge 此前只记录其十六进制内容。

无需 Bose 应用、账号或云服务,即可在 Linux 和 macOS 上控制 Bose 耳机:项目提供 Python、Rust 和 C++ 库及命令行工具,在蓝牙 RFCOMM 上实现 Bose 的 BMAP 协议。作者在 NOTES.md 中记录了 BMAP 的功能块、操作符、载荷布局和错误码,据称是通过探测 RFCOMM 通道、在 Bose 应用中更改设置时抓取蓝牙通信并逐一测试各操作符得出的;这些库涵盖降噪、均衡器、空间音频、按键重映射、配置档和设备设置。各型号的支持情况由作者和贡献者报告。

重建 DJI Mimo 应用与 Osmo Pocket 3 相机之间基于 BLE 的 DUML 协议,提供 Node.js 库和命令行工具,无需官方应用即可扫描、配对、发送云台指令并接收约 20 Hz 的姿态遥测。作者称其依据第三方对 Mimo 通信的 Wireshark 抓包与解析器、一个 Go 客户端以及反复试验调试完成;PROTOCOL.md 记录了帧结构、CRC 参数、BLE 特征值的用途和命令 ID。一篇过程记录和随附补丁梳理了导致早期 node-osmo 库无法配合该相机工作的七个缺陷,作者报告打过补丁的库完成了配对、Wi-Fi 设置和 RTMP 推流。

记录 DJI 专有 MIMO 应用用于控制 DJI Osmo 设备的低功耗蓝牙报文格式,是作者在开发独立 CLI 工具 djictl 时产出的逆向工程素材。作者依据自己手机的蓝牙日志推断出报文结构——魔数、长度、协议版本、头部 CRC8、子系统与消息 ID 字段、载荷以及消息 CRC16——并提供一个 Wireshark 解析插件和一份带注释的消息类型目录。许多消息类型被标注为推测或未知;作者报告在 DJI Osmo Pocket 3 上实现了可用的直播推流后暂停了进一步分析。

以一个 Windows 命令行客户端替代 MXW01“猫猫打印机”(一款小型低功耗蓝牙热敏打印机)的厂商手机应用。作者称以仅支持 iOS 的 Moblin 实现为起点,再进一步逆向厂商的手机应用;该客户端向一个 GATT 服务发送带 CRC8 校验的命令,并以 1 位或 4 位灰度传输每行 384 像素的图像数据。若干命令 ID 仍标为未知,作者也只测试了这一款打印机。

从厂商安卓应用的原生指令编码器(而非其具有误导性的 Java SDK)重建 R2000 系列 915 MHz UHF RFID 桌面读写头的 A0 串口协议;这类读写头原本只随附 Windows 软件和安卓应用。项目据此提供用户态 CH340 驱动、Python 命令行与图形界面,以及小型安卓应用,直接与读写头通信,进行标签盘存并读取标签存储区。docs/PROTOCOL.md 记录了帧格式、校验和、指令表、响应格式,以及 READ 与 WRITE 不同的字段顺序。

记录 Xiaomi 电水壶封闭的低功耗蓝牙 GATT 协议;作者通过反编译 Mi Home Android 应用并反汇编其负责加密的原生库重建了该协议。文档涵盖连接与认证握手、状态通知的数据布局以及可写入的设置特征值,并附有用 Go 重新实现的少量加密辅助函数。作者据此开发了接入 Home Assistant 的水壶–MQTT 桥接程序,但未公开其代码,也不保证这些笔记对他人同样适用。

记录了改款(2006 年后)Ford Fiesta MK5 上连接 6000CD 收音机与仪表盘的中速 CAN 总线。作者在收音机的 QuadLock 连接器处用 Arduino Uno 加 Seeed CAN-BUS Shield 接入总线,据此推断出这些内容。README 描述了这条 125 kbit/s 总线上 18 个已部分或完全解码的报文 ID,给出字节布局和换算公式:包括收音机经 ISO-TP 发往仪表 LCD 的文字、电台名称、音量、CD 曲目以及转向柱旁的模式与搜台按键,还有广播的时钟、车门、门锁、倒挡、转向灯、灯光、手刹、安全气囊指示灯、踏板、转速、车速、冷却液温度、钥匙位置、蓄电池电压和部分 VIN 数据。附带的 Kayak .kcd 定义文件尚不完整,只编码了时钟和油门踏板/转速/车速两条报文。

将 Uniden R8 雷达探测器未公开的低功耗蓝牙输出解码为可在 Raspberry Pi 上运行的只读采集程序,提供实时遥测、警报开始/更新/结束事件、SQLite 历史记录,以及可选的 MQTT 与 Home Assistant 发布。作者在真实设备上直接从通信数据推断协议,并以 AegisX86/UnidenR8wlink 先前针对 R8w 的发现为基础;PROTOCOL.md 中的每项结论都按证据分级:在这台 R8 上实测、在其他型号上见到、从应用反编译但未测试,或推断。未知字段按原始数据保留,而不赋予臆造的含义。

直接使用 Scanmatik SM3 未公开的协议——这款 J2534 车辆接口原本只与自家 Windows 软件通信——并以 ELM327 桥接的形式提供给 Android 手机,其上还有一个诊断应用。作者通过抓取设备随附驱动的通信并测量响应,恢复了报文结构:包含序号、基于 CRC 与求和的校验字、操作码和长度的 16 字节报头;docs/protocol.md 区分了已确认与仍待解决的部分。所报告的结果来自一辆 Opel Astra J、共五次有车在场的测试。

以用户态 C 守护进程在 Linux 和 macOS 上重新实现 Apple 无线直连(AWDL)——Apple 设备用于 AirDrop 等点对点连接的专有 Wi-Fi 自组网协议;README 称其为达姆施塔特工业大学 SEEMOO 实验室 Open Wireless Link 项目逆向工程的成果。OWL 执行主节点选举,同步可用窗口和信道序列,解析并构造 AWDL 动作帧与数据帧,并提供带链路本地 IPv6 地址的 awdl0 虚拟网络接口,使未经修改的 IPv6 程序(如 SEEMOO 的 AirDrop 客户端 OpenDrop)能够与 Apple 设备通信。作者在 MobiCom 2018 论文中描述了还原出的协议。

Stadiacast 重建 Stadia 手柄 Wi-Fi 固件所依赖的网络服务,让手柄连接本地电脑。接收端响应启动和发现请求,完成 WebRTC、DTLS 会话,解码按键输入并发送震动命令。协议文档记录了固件阅读和真机交互所得的结果,仓库还提供 protobuf 结构与服务端代码。

LibreMP 根据 Windows 客户端抓包还原 Epson EasyMP 协议,实现桌面向投影仪投屏。Rust 核心处理注册与登录消息、投影仪二维码解码、JPEG 分块传输及画面变化区域更新;命令行和 Tauri 界面共用该核心。文档记录控制通道使用 TCP 3620,视频通道使用 TCP 3621。

libfprint-goodixtls 为 Huawei MateBook X Pro 的 Goodix GXFP5187 SPI 指纹传感器实现 libfprint TOD 驱动。它从传感器内存读取 PSK,建立 TLS-PSK 通道,解码采集图像,并用局部特征描述子在主机端匹配。作者报告可通过 fprintd 和 GNOME 设置录入、验证指纹;详细的逆向研究笔记另行保存,未收入仓库。

vanmoof-certificates 解析 VanMoof SA5 与 Series 6 自行车使用的访问证书。文档描述了 Ed25519 签名及其后的 CBOR 载荷,包括车架与模块序列号、用户身份、权限角色和到期时间;Go 代码负责请求、解析和检查证书。项目称 SA5 验证公钥取自车辆的 BLE 证书。

TOZO Control 是 Linux GTK4 耳机客户端,使用从 TOZO Android 应用逆向得到的 BLE GATT 协议。它向 B611 特征写入命令,从 B612 接收通知,并记录 GET、SET 数据包结构及参数编号。作者报告已在 T10 上测试电量、游戏模式、均衡器和声道平衡功能。

Dell ControlVault 2 fingerprint on Linux 通过五处字节特征补丁,使用户本地取得的 Broadcom 驱动识别较旧的 BCM5880 指纹设备。研究记录了设备的 USB 端点、命令头及驱动检查逻辑。作者报告指纹采集可用,但录入与比对仍不稳定或尚未确认。

MS5 WiFi Microscope 复原 MS5 相机的 UDP 控制与视频协议,并用 Python 客户端将重组后的 JPEG 帧以 MJPEG 提供给浏览器或播放器。文档列出命令头、OpenVideo 端口握手、分片布局和分辨率查询;作者报告在 MS5 实机上获得约 25–30 fps 的 1280×720 画面。

aw5d-linux 在 Linux 上通过 64 字节 USB-HID 输出报告驱动 iBUYPOWER AW5/AW5D 散热器的圆形屏幕。研究笔记记录报告 ID 0x10,以及 CPU 使用率、频率、温度和仪表样式对应的字节位置。作者报告已在一台 3402:0407 设备上运行,其他变体尚未确认。

j2208-band-tools 根据从 FitTrack Health 配套应用恢复的协议,实现 J2208 系列健身手环的直连 BLE 客户端。Python 工具可读取历史健康记录与实时传感器数据、探测 GATT 服务,并将采集结果存入 SQLite。作者在一只 Hume Band V2 上核对了文档所述的 16 字节帧协议。

RND Companion 重建 Cymaforma RND Synth 的 SysEx 控制命令,并提供 C++ 编解码器和管理音色种子的配套插件。协议笔记根据网页应用及一段实机 MIDI 录制数据记录帧格式、种子命令和状态命令;客户端支持直连 MIDI 端口或通过宿主软件路由 MIDI,并保存音色种子库。

BikeStation 是用于 Echelon Connect 健身车的本地 Windows 客户端,基于社区对其专有低功耗蓝牙协议的研究。它读取踏频和阻力数据、查询阻力范围、向电动阻力机构发送控制命令,并在无需厂商云服务的情况下将骑行记录保存在本地。

↑↓ 移动↵ 打开⌘↵ 新标签页