在 GitHub 上加星Star2.4k 个星标

逆向工程资源集合

逆向工程案例合集

第 13/21 页,第 2,401–2,600 个案例。从 5,191 项精选资源中筛选出的 4,025 个案例,保留重建方法、成果边界与原始证据,并按网站、游戏、应用等目标分组,可逐条打开条目查看来源与复核日期。

软件重建产物评审

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

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

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

第 2,401–2,600 个案例,共 4,025 个

游戏

2832 个案例

全部主题

引擎重实现

467 个案例

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

OpenTennis 使用 Rust 和 Bevy 重建 2007 年 PS2 游戏 Hot Shots Tennis,面向桌面、移动设备和浏览器运行。模型、贴图等数据在运行时从用户的美国版光盘镜像读取。作者以原版录像逐帧比较球的物理运动、时序、规则和 AI;研究工具还分析可执行覆盖段及游戏文件格式。

OpenTESArena 用新的 C++ 引擎重建 1994 年 DOS 游戏 The Elder Scrolls: Arena,游戏资源由用户另行获取。项目实现了战斗、物品、商店、市民、旅行及大部分角色创建功能,记录原版游戏的运行机制,并解析 Arena 资源格式。任务、法术和存档功能仍未完成。

OpenTPW 重实现 Bullfrog 1999 年的《主题公园世界》,也以《模拟主题公园》发行。它需要原版游戏及其资源的完整副本。项目页面写明项目仍早期,还不能玩。纹理、设置、声音和字符串格式标为已实现。模型、地图、游乐设施脚本和存档是部分实现。字体、口型、材质和视频尚未实现。格式说明在 opentpw.gu3.me/formats。

在 Unity 引擎中重新实现《模拟人生 2》,以自行编写的 C# 代码读取使用者终极典藏版安装中的 DBPF 包和各类素材格式,项目也希望把这些代码提供为模块化的库。README 称项目尚处早期:已实现带社区选择器的基础主菜单、社区信息预览和基础社区视图,而仓库中另有地块、建造模式、模拟市民和 SimAntics 相关代码。README 致谢 FreeSO 提供了大量代码和结构。

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

OpenXWA 将 1999 年游戏《星球大战:X 翼联盟》重实现为 Windows、macOS 和 Linux 原生程序,读取用户的原版安装文件。代码涵盖游戏系统、OPT 模型和 digital iMUSE 音频,并提供经典及增强画面模式和现代输入方式。作者称,除多人游戏外的原版函数均已重实现。

Oracles 在 Godot 中以共用 C# 引擎重建《The Legend of Zelda: Oracle of Ages》和《Oracle of Seasons》。项目从固定版本的反汇编导入数据,并以原版 ROM 行为确定时序、对象顺序、碰撞和状态。Ages 已可游玩;Seasons 目前覆盖开场及部分前期房间和事件。

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

PanzerMortyr 重新实现《Mortyr 2093-1944》的引擎,作为读取原版游戏数据的替代程序。作者称其逆向分析了归档、地图和模型格式,并依据观察重建敌人行为、移动物理和游戏平衡。项目主要使用 Ü 编写,支持 Windows 和 GNU/Linux;游戏数据可来自已安装的游戏或光盘镜像。

Portémon Nitro 使用 LÖVE 重建 Pokémon HeartGold 与 SoulSilver 的游戏引擎,面向电脑和移动设备。项目读取用户自有的 Nintendo DS ROM,在本地生成游戏数据,并将 ROM 解析、运行时行为与应用界面分离。仓库包含 Lua 游戏代码、Nintendo DS 与游戏专用库,以及 ROM 导入工具。

R.E.L.I.V.E. 为《Abe’s Oddysee》和《Abe’s Exoddus》开发跨平台引擎,目标是替代原版 PC 可执行程序。它读取玩家自己的游戏文件,提供手柄支持、画面设置和关卡编辑器。项目称两款游戏目前均可游玩,但仍可能出现错误和崩溃。

Rad-Therapy 是给 FTE 引擎使用的 QuakeC 游戏,用来玩 1998 年的《半衰期》战役和死亡竞赛。菜单、客户端、服务器和网络子协议都在 QuakeC 里运行。发行文件 package_valve.pk3 放在 HL1/valve/。源码构建把游戏克隆进 Nuclide SDK,并运行 make game GAME=valve。启动可以加上 -halflife,模组使用 fteqw -halflife -game。

RappelzCore 与 RappelzRust 根据定制版 SFrame.exe 客户端的分析结果,用 Rust 重建 Rappelz NoLimits 服务端和游戏客户端。作者记录了使用 REA 与 Ghidra 分析客户端函数、资源格式及数据包布局的过程;两个组件均处于开发阶段。

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

REGoth 重实现《哥特王朝》和《哥特王朝2》使用的 zEngine。审阅的 README 写明项目已在 REGoth-project/REGoth-bs 重新开始。这棵树最新的带标签 Windows 和 Android 构建是 0.4 版。需要 git clone --recursive、CMake 3.1 或更高版本,以及 C++14 编译器和 libsndfile。测试过的编译器是 GCC 6、MinGW,以及 Visual Studio 2015 或 2017。REGoth -g 接受哥特王朝 I 或 II 的安装目录,-w 接受 zen 文件,例如 newworld.zen。二进制在 build/bin。

reRBR 用 Rust 重建 Richard Burns Rally 1.02,面向 Linux、macOS 和 Windows,读取玩家自备的游戏文件并使用 NGP 7.4.778 物理系统。代码涵盖游戏文件格式、赛道、车辆、比赛流程、损伤、存档和渲染;作者称已用原版录像对照游戏行为。BTB 赛道支持仍处于实验阶段。

Rockport Native 将 PlayStation 2 版 Need for Speed: Most Wanted 重建为 macOS 游戏,以 Swift 和 Metal 引擎读取玩家 ISO 转换出的数据。项目记录光盘格式、游戏系统以及 Ghidra 和 REA 反汇编流程;作者称 Mac 版本可玩,但部分游戏机制仍待完善。

Rollerbot-Android 根据原版脚本和用户提供的资源,为 2000 年游戏 Rollerbot: A Time Journey 重建 Android 与 Linux 运行环境。项目实现玩法、场景、音频和平台组件,提供 Android 光盘导入及 Linux Flatpak;配套笔记梳理了原版可执行文件中的 Direct3D Retained Mode 调用。

rugrats 将美版 PS 游戏《淘气小兵兵:寻找雷普塔》重建为原生 Rust PC 游戏,从玩家自己的光盘读取数据。专用读取器解析模型、房间、动画、声音和过场,新运行时实现操作、物理、关卡规则和存档。作者报告可从头玩到结尾,并在工程日志和格式参考中记录逆向发现。

Rusty MCLA 以 Rust 重建《Midnight Club: Los Angeles Complete Edition》的 Windows 游戏引擎,数据由用户的 Xbox 360 光盘镜像生成。其工具处理光盘、归档、资源、脚本和着色器,并按原版可执行文件函数跟踪进度。作者称约 17% 的函数已结项;在线游玩及部分硬件功能仍待实现。

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

Sarien 用 C 重新实现了 Sierra On-Line 的 Adventure Game Interpreter(AGI),可以运行《Leisure Suit Larry》《King's Quest II》《Mixed-Up Mother Goose》等 AGI 游戏。它执行编译后的 Logic 字节码,处理 AGI 的图形、文本和声音资源,支持 Amiga 和 Apple IIgs 版本以及 AGDS 游戏,并加入了调试控制台、图片与词典查看器和三声道 PCM 音效等功能。项目的 Hacker's Guide 记录了解释器的架构、驱动、图形和声音实现;Sarien 后来并入了 ScummVM。

SDLPAL 是基于 SDL 的《仙剑奇侠传》重实现,英文也称为 PAL。它为 Windows 桌面和 UWP、GNU/Linux、macOS、Android、iOS 以及几种主机构建。Windows 桌面在 Visual Studio 2017 或更高版本中打开 win32/sdlpal.sln。GNU/Linux 运行 cd unix && make,并需要 SDL 2.0。原版资源文件复制到可执行文件所在的目录。在区分大小写的文件系统上,这些文件名使用小写。版本在首次启动窗口或 sdlpal.cfg 里选择。

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

Shiloh 是 1998 年游戏《X档案》的 Rust 引擎,带 SDL2 窗口和 WebAssembly 浏览器构建。README 报告英文 DVD 版(程序构建 2.05)、俄语 1.00 版和德语 7 张光盘版(程序构建 1.00.19)都完成了全程游玩。浏览器构建在 127.0.0.1:8640 提供。电脑、电话和笔记等表在运行时从玩家的副本读取。

si78c 是 1978 年街机游戏《太空侵略者》的 C 重实现。运行时除堆栈外与原版内存状态一致,画面逐像素相符。ROM 文件放在 inv1/。invaders.e 的 MD5 是 7d3b201f3e84af3b4fcb8ce8619ec9c6,invaders.f 是 7709a2576adb6fedcdfe175759e5c17a,invaders.g 是 9ec2dc89315a0d50c5e166f664f64a48,invaders.h 是 e87815985f5208bfa25d567c3fb52418。make 构建 ./bin/si78c。它使用 SDL2 和 ucontext,文档列出的构建环境是小端机器上的 Ubuntu 18.04 和 Mac OS X El Capitan。

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

Sourcehold 是 Firefly Studios 2001 年城堡游戏《要塞》的早期开源引擎。它使用 SDL2、OpenAL、FFmpeg、zlib blast,以及 EnTT、filesystem 和 cxxopts 子模块。git submodule update 获取这些子模块。Windows 构建用 vcpkg 安装 sdl2、ffmpeg 和 openal-soft,然后 cmake --build build。macOS 运行 apple/build.sh macos。iOS 路径只构建模拟器。--path 指向游戏数据,或者把文件放进带 binks、fx、gfx、maps 和 stronghold.mlb 的 data 目录。

Surreal Engine 重实现虚幻引擎 1,目前针对《虚幻》金版和《虚幻竞技场》。SurrealEngine 可执行文件添加游戏文件夹并启动选中的游戏。它运行在 Windows 10 或更高版本、macOS 15 或更高版本,以及当前的 Linux 发行版上,使用 Direct3D 11、OpenGL 3.2、Vulkan 或 Metal 2。构建步骤在 Docs/Building.md。SurrealEngine [--url=<地图名>] [--engineversion=X] 接受游戏文件夹路径。

SWBF2 Browser Reconstruction 从用户安装的 Star Wars Battlefront II(2017)提取数据,在 three.js 浏览器运行时中重建部分游戏。流程转换 Frostbite 网格、纹理、光照、动画、音频与玩法参数,参考场景为 Death Star II 的 Blast 和 Free for All 模式。

Test Drive II Enhanced 以 C 语言重实现 EGA 版《试驾 II:对决》程序,并通过 SDL3 读取玩家自备的游戏文件运行。替换的道路渲染器提高分辨率、以每秒 60 帧绘制并延长视距,经典模式保留原有画面;关卡查看器读取游戏场景数据供自由浏览。

Test Drive II: The Duel 项目依据 DOS EGA 版本的分析结果,以 C 和 SDL3 重构游戏。移植版读取用户自己的原版可执行文件及数据;附带工具可解包 EXEPACK 文件、反汇编 x86 代码并解码资源包。函数索引、移植规格和文件格式文档记录了重构过程。

在 Crystal Space 3D 引擎上重写《The Elder Scrolls III: Morrowind》的引擎,读取已安装的 Morrowind 及 Tribunal、Bloodmoon 的 BSA 与 ESM 文件。插件涵盖 BSA 虚拟文件系统、借助 niflib 加载 NIF 模型、地形、天空盒和游戏逻辑。文档说明了 NIF 场景树与动画如何转换、加载多个主文件时插件引用 ID 如何重新映射,并列出 Morrowind 原版缺陷的成因、修复方法及其在该引擎中的状态。

The Force Engine 重建 Jedi Engine,利用用户的原版游戏在现代系统上运行《Star Wars: Dark Forces》。项目包含从原始可执行文件逆向得到的游戏与引擎代码,并提供软件及 GPU 渲染器、模组加载器和关卡编辑器。《Outlaws》支持仍在开发,尚不能游玩。

TurokEX 在 Kex 引擎上重新实现 PC 版 Turok,游戏中的角色、敌人 AI、武器、拾取物、区域和 HUD 均以 AngelScript 类编写。配套的 KPFGen 转换器读取原版 CARTFILE.DAT 和 Turok.exe,把其中的纹理、字体、音效、模型、关卡和粒子特效打包为 game.kpf。引擎部分包括 OpenGL 渲染、碰撞与物理、OpenAL 音频、控制台、ENet 联网以及 SDL2 平台层。

Underworld Revisited 用 Unity 重新实现 1992 年的 Ultima Underworld: The Stygian Abyss。它读取 GOG 或 Steam 的副本。核对过的 GOG 可执行文件 UW.EXE 是 547,248 字节。Windows 发布包是 UnderworldRevisited-<version>-win64.zip,由 UR.exe 启动。自 0.3.0 起的 Linux 发布包是 UnderworldRevisited-<version>-linux64.tar.gz,由 UR.x86_64 启动。存档使用安装目录里的 UNDEROM1\SAVE1 到 SAVE4。

Wanderer 使用 Java 和 libGDX 重建 2002 年游戏《Project Nomads》,并使用原版游戏资源。文档列出的资源格式包括由 Nebula NVX 转换的模型、由 NTX 转换的纹理和由 NAX 转换的动画;剧情指南还记录了原版 TCL 脚本与 JavaScript 脚本的对应关系。项目旨在修正问题的同时保留原有玩法。

wkbre2 是面向《Warrior Kings》和《Warrior Kings Battles》的游戏引擎重建项目。它采用客户端与服务器架构,使用原版游戏资源,并计划读取 data.bcp 中的单位定义、解释其中的玩法脚本。它支持 Direct3D 和 OpenGL 渲染,目前仍处于早期开发阶段,尚不能完整游玩。

Wolfenstein (2009) SP 基于 idTech4A++,用 C++ 重建单人模式引擎行为,并读取用户自备的 PC 版游戏数据。项目实现 SP PK4、SPK 和 MPK 读取器,分别测试玩家、MP40、脚本驱动的角色动画和 trainyard 场景行为;研究笔记记录了对原版可执行文件的分析结果。

WoodyRE 重实现 2001 年 PC 游戏《Woody Woodpecker: Escape from Buzz Buzzard Park》的引擎。它按英文 1.00 版检查玩家的光盘,也接受西班牙文光盘和三张 2002 年 2 月的光盘。发布包覆盖 Windows、Linux、64 位设备上的 Android 7.0 及以上,以及一个实验性的 Switch 构建。

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

YodaStoriesNG 用 C# 和 SDL2 重建 Star Wars: Yoda Stories 与 Indiana Jones and His Desktop Adventures,读取各自的原版数据文件。它解析图块、区域、谜题和 IACT 脚本,重建世界生成流程,并提供脚本反汇编等检查窗口。作者称 Yoda Stories 可完整游玩,Indiana Jones 仍有谜题缺口。

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

ZT1-Engine 通过研究 zoo.exe 并与原版行为对照,为现代 Windows 重实现《Zoo Tycoon 1》。它从玩家安装目录读取图像、声音等文件,另提供查看原版地址和执行轨迹的工作台。作者称 alpha 版已支持基础游戏的自由模式,但扩展内容与原版存档状态的完全一致性尚未完成。

其他方法与分析

321 个案例

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

2ooM 的目标是重制《Master of Orion II》,运行时使用原版游戏的数据文件。liblbx 库及 lbxtool、lbximg 工具可列出并解包 LBX 归档,把游戏中多帧 256 色的 LBX 图像解码为 PNG,支持取自 fonts.lbx 的基础调色板和用于玩家颜色的覆盖调色板,并附有对照原版归档、以 md5 校验的回归测试。笔记记录了音乐格式,并把 stream.lbx 和 streamhd.lbx 中的条目对应到具体曲目;引擎仓库则是一个基于插件的框架,包含虚拟文件系统以及 SDL 和 FFmpeg 模块。

ACEmulator 用 C# 重建了 MMORPG《Asheron's Call》的服务端,目标是还原 2017 年 1 月官方服务器关闭时的游戏世界。源码实现了客户端网络协议(数据包、游戏动作、事件与消息)、物理、世界对象以及客户端 .dat 文件读取,数据存储使用 MySQL 或 MariaDB。服务器选项可以逐项开关正式服的特定行为,例如卡门和快速加状态。

Aion 2 Network Protocol Research 根据抓包和客户端分析复现游戏的部分客户端到服务端协议。文档记录 unsigned-varint 分帧、LZ4 数据包、RSA-OAEP-SHA1 世界服握手,以及握手后客户端帧体持续使用的 RC4;Python 工具用于抓包分析、会话材料提取和客户端加密流程实现。

Another Life 重建 The Witcher 3 Remastered 的部分存档格式与任务状态,根据玩家选择生成新存档。Rust 代码读写存档容器、变量表和标记树,并把游戏事实、日志条目与任务图修改写入用户提供的模板存档。作者报告在 5.01 补丁版本完成了有限的游戏内验证。

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