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

逆向工程资源集合

逆向工程案例合集

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

软件重建产物评审

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

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

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

第 601–800 个案例,共 4,025 个

游戏

2832 个案例

全部主题

匹配反编译与反汇编

583 个案例

这个《Tomba!》匹配反编译用同一套源码构建四个 PlayStation 版本。NTSC-U SCUS-94236 主可执行文件的 SHA-1 是 81cbc79f0230aeb4252e058039f47ac95a777f5a。NTSC-J SLPS-01144 的 SHA-1 是 07d577698ad31ec1a69b9d7b80a7c3f90b650888。PAL SCES-01330 的 SHA-1 是 1d98c6595a49bd8063c906221df1eaa854964cb1。PAL SCES-01331 的 SHA-1 是 f6c383514e5d8367d2eed06400315cf6dd57ef6b。欧版光盘上的游戏本体是 EXE/MAINn.EXE。

thps64 利用用户提供的 Nintendo 64 美版 V1.1《Tony Hawk's Pro Skater》ROM 重建游戏的 C 源码。项目将压缩的游戏代码拆分为函数,并逐条比较编译后的指令与原版指令。作者报告默认构建与原版逐字节一致,已有 2,449 个函数匹配,另有 62 个函数写成了尚未匹配的 C 代码。

为 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 称游戏应可完整游玩,但匹配构建会触发游戏自身的完整性检查;跨平台移植位于其他分支。

Turok: Rage Wars 以重建四个 N64 版本的匹配式 C 源码为目标,并提供基于美国版 v1.1 ROM 的 Windows 原生移植版。移植版在 Windows 上实现图形、音频、输入和虚拟 Controller Pak 功能。作者报告它可运行菜单和一至四人比赛;移植版目前仅支持美国版 v1.1。

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

Valkyrie Profile decomp 将日版 Rev 1 PlayStation 游戏的部分代码重建为编译后与原版逐字节相同的 C。范围包括主可执行文件和四个覆盖模块,其余函数仍用汇编保留。作者报告五个单元均可逐字节匹配,同时指出全新克隆可能缺少本地参考文件而无法构建。

Warblade Service Release 从《Warblade》1.34 调试版重建游戏代码,并提供基于 SDL 的现代版本。PTK 分支保留逐函数二进制匹配,SDL 分支替换 PTK 和 BASS,并增加窗口、渲染及插帧选项;两个分支都使用用户本地安装的游戏资源。

wc2-re 根据《Wing Commander: The Kilrathi Saga》中的 Win32 版本重建《Wing Commander II》源码,并提供 SDL2 移植版。C 游戏核心与 C++ 音频库使用 Visual C++ 4.1 构建;作者报告生成的 WC2.EXE 与零售版全部 714,752 字节一致。移植版在 Windows、Linux 和 macOS 上使用玩家自备的游戏数据。

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

Winning Eleven 3 Final Ver. 以汇编基线和逐字节匹配的 C 函数重建日版 PlayStation 游戏的启动程序及五个已确认的运行时覆盖模块。工具从用户提供的光盘提取数据、构建模块并比较完整输出的哈希。作者报告已有 901 个函数由匹配的 C 代码实现;原生 PC 版本仍在规划中。

xc2-decomp 重建 Nintendo Switch 版《异度神剑 2》1.0.0 的 C++ 代码,并逐函数与原始 AArch64 可执行文件比较。Nix 环境提供 Clang 3.9.1 和分析工具;check 编译重建函数并报告字节差异。作者报告 48,739 个具名函数中已有 37,087 个匹配。

xenogears-decomp-port 将 PlayStation 版《异度装甲》的部分匹配式 C 语言反编译成果用于 Linux x86-64 原生移植。移植版运行反编译的游戏代码,由 PsyCross 和 SDL2 提供 PlayStation 硬件及主机服务,并读取从用户自己的美版第一张光盘提取的文件。作者报告 r5 版本可运行序章、拉翰村和首场 Gear 战斗。

xmen2-pc 将《X-Men 2: Clone Wars》重建为手写 C 代码,并移植到 Windows 和 Linux,无需模拟 68000。项目使用逐字节匹配的反汇编、静态重编译和 Apple MPW C 3.3;作者报告称,3,047 个 C 函数与原始机器码匹配,其余 117 个汇编函数经过逐指令比对。移植版从用户自备 ROM 读取图像、声音和关卡,并加入宽屏、高刷新率显示及回滚联机。

xmen2disasm 将 Sega Genesis 游戏《X-Men 2: Clone Wars》重建为逐字节匹配的 68000 反汇编。构建从用户的 ROM 读取数据,模拟器跟踪用于检查函数边界、标签和覆盖情况。作者报告可重建字节相同的 ROM;相关 C 代码重建和原生 PC 移植位于 xmen2-pc。

《游戏王 GX Tag Force》项目将北美 PSP 版的运行时和游戏模块重建为 C。构建流程用 mwccpsp 编译 C 代码,将结果与原版比较,并将尚未匹配的部分保留为汇编。架构笔记引用了通过 REA 使用 Ghidra 分析 BOOT 模块所得的证据。可玩的 PC 移植版仍处于计划阶段。

该项目重建 Game Boy Advance 美版《Zoids Legacy》的 1,130 个代码区域,并把每个区域的字节与 ROM 比较。make verify 核对 ROM 的 SHA-1,并且不写出 ROM。翻译编辑器是 python3 tools/script_editor.py,监听 127.0.0.1:5097。英语和西班牙语文本文件是 dialogue-en.json、scene-translation.json 以及对应的西班牙语文件。美版 ROM 命名为 Zoids Legacy (USA).gba。

非匹配反编译

343 个案例

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

这份 Atari 2600 游戏 A-Team 的双 bank 6502 反汇编可用 DASM 汇编,也是其 PAL 转换的基础。编译开关可选择 NTSC、PAL 50 Hz 或 PAL60 的配色与时序,并可开关片头标志与片头画面故障的修复、第一关边框颜色循环,以及保持扫描线数固定的错误修复,每项都能恢复原版行为。注释标出了为背景、角色、导弹、记分栏和片头画面写入颜色寄存器的位置。

MiniDig 网站上的这份 6502 汇编清单带有标签和注释,重建了 Atari 1977 年为 Atari 2600 推出的 Air-Sea Battle。汇编开关可在 2K ROM 的 NTSC 与 PAL 版本间切换。文件头说明了 PAL 版内核区加高、NTSC 版 EXPERT 难度下导弹尺寸为 0 的原因,以及作者标为未使用的两个 RAM 地址 $91 和 $92。

该项目反编译 Xbox Live Arcade 版 Banjo-Kazooie。期望的 default.xex SHA-1 是 24f81f8058d1be416d95ccfcb5ebd2503eb4fd47。make split 读取 bk.yaml,make 重新生成 merged.xex。文档中的 Xbox 360 SDK 是 7645 版。比较使用 Visual Studio 2005 SP1 的输出对照 PowerPC 的 GCC,因此 objdiff 会把函数调用的重定位显示为不同。

blackhack 用手工反编译的 C 代码重建 runblack.exe 的 SetupControl 界面控件类,涵盖按钮、大按钮与标签按钮、复选框、列表、滑块、输入框、取色器、图片和图表控件,并重建了部分 Lionhead lhlib 库。基于 Detours 的启动器先校验可执行文件的 md5,再注入 DLL,按各版本的函数与数据地址表把原函数替换为重建版本。项目还修改了全屏设置函数,使 runblack.exe 始终以窗口模式运行。

Boku Doraemon 解析日版 Dreamcast 游戏的 1ST_READ.BIN,从用户光盘生成匹配的汇编基线,并在 SH-4 解释器中比较候选 C 函数的调用、内存写入与结果。仓库还记录模型、纹理、声音及其偏移。作者报告该阶段有 123 个等价函数,均来自本地提供的 SDK 源码。

Call of Duty 2: Big Red One 将原版 Xbox 游戏代码重建为 C++,目标是在 Linux 和 Windows 上原生构建。项目使用 Ghidra 分析和函数命名,并通过对比工具将重写函数与原始函数比较:主要在游戏运行时验证,部分函数则离线验证。作者报告已重写 7,067 个函数,大多数任务脚本函数仍待重写。

这份带注释的 6502 汇编清单重建了 Atari 2600 坦克、双翼机与喷气机对战游戏 Combat,目标是讲清每条指令、每个内存地址和每张表的用途。用 DASM 汇编后得到的镜像与卡带 ROM 仅在启动向量前未写入的填充字节上有差别。文件头给出 27 种游戏变体与导弹、迷宫、云层选项的对照表,主循环例程采用演示笔记中披露的 Atari 原始名称。

将 Imagic 1982 年的 Atari 2600 游戏 Cosmic Ark 整理为经过分析、带标签和注释的 6502 汇编清单,可构建 NTSC 和 PAL 版本。PAL 转换利用游戏的小数累加机制重新换算了几乎所有速度,使两个版本节奏一致;另有开关可启用体积优化。注释还指出了为非合作双人模式残留的代码,以及游戏大量使用的状态标志。

Crash Twinsanity 以 C++ 重建《Crash Twinsanity》PAL 版 PS2 可执行文件,通过平台层调用硬件功能,并从用户的原版可执行文件提取所需数据。作者报告,构建版本在 PCSX2 中的启动状态、逐帧画面与存档行为和原版一致。构建工具还会从用户的可执行文件生成汇编,用于逐字节匹配比较。

Crazy Taxi decomp 使用从用户光盘生成的逐函数 SH-4 汇编和恢复的 C 代码,重建欧洲版 Dreamcast 游戏可执行文件。其流程映射游戏资源、比较 C 函数与原版行为,并生成包含重建程序的光盘镜像。作者报告可执行文件逐字节一致,游戏可以游玩。

dataeast_snddrv 是 Data East 在《High Seas Havoc》中所用声音驱动的反汇编,分为 68000 驱动代码、Z80 DAC 采样播放程序和频率表,使用 vasm 汇编。文档说明了乐曲结构(六个音轨指针映射到 YM2612 声道)、控制速度、循环、滑音、LFO、声像和 DAC 采样的音轨指令,以及 32 字节的音色记录格式。Python 脚本可从使用该驱动的游戏 ROM 中提取乐曲、音色和采样。

这份注释反汇编依据二进制镜像重建了 Superior Software 1988 年在 BBC Micro 上发行的冒险游戏 Exile 增强版,涵盖把采样音效装入 sideways RAM 的加载器、解密代码和游戏主体。技术说明给出了精灵绘制、256x256 图块程序化地形生成、三级对象列表物理引擎、包络音效、NPC 情绪刺激以及基于随附小说单词的拷贝保护所在的地址范围,另附玩法说明和内存修改(poke)清单。

依据原始二进制文件还原《辐射 2》Windows 引擎的 C 源码,力求连同原有缺陷在内尽量贴近原版。构建出的 fallout2-re.exe 可直接替换 fallout2.exe,运行使用者自己的 GOG 或 Steam 版游戏。README 称仍有少数非关键函数尚未反编译;这份代码后来成为独立的 Fallout 2 Community Edition 的基础,作者本人则认为向公众广泛发布在法律上存疑。

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

FS15 Reconstruction 以 Windows 版 Farming Simulator 15 1.4.2.0 为参照,恢复 GIANTS Engine 6 的部分组件。项目结合反编译、脚本恢复和原生组件比对,构建实验性游戏运行环境及 Linux 运行路径。作者报告原始 GE6 代码已在 Linux 上显示农场画面;完整引擎和农场玩法仍未完成。

这个项目逐个函数重写《侠盗猎车手:圣安地列斯》。构建结果是一个 DLL,用重写后的函数替换游戏里的函数,写明的最终目标是一个独立可执行文件。支持的可执行文件是紧凑版 exe,5,189,632 字节。python setup.py 默认配置 windows-msvc x86 Debug 构建,python setup.py --build 进行编译。README 估计大约完成了 50% 到 60% 的代码。

这是《光环:战斗进化》版本 2342 的进行中反编译。可执行文件是 cachebeta.exe,SHA-256 为 4cc87b45f721270392a96f1674ed2b5cd4a7bb4355faeab4531d1cf1884d9520,来自 PAL 调试构建。2001 年 8 月的 Xbox SDK 提供 xbox/bin 和 xbox/include。configure.py 准备构建。ninja build 编译并打印进度。在 Windows 上,projects/cachebeta.sln 用 Visual Studio 2022 打开。README 写明后来的光环调试符号被用来映射类型,而且 CEA 测试版与 Xbox 原版并不完全相同。

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

ht2-rev 将《Hard Truck 2: King of the Road》的 king.exe 重建为面向 32 位 Windows 的 C++ 源码。项目起始于字节匹配的反汇编,并逐条转换直升机运算和拖车挂接求解器的 x87 指令,使用原版机器码进行对照测试;构建时从用户自己的可执行文件提取资源,运行时需要已安装的游戏。

用 DiStella v3.0 将 Atari 2600 游戏 Indy 500 反汇编为 6502 清单,并做了第一轮手工标注和注释。已命名的 RAM 地址涵盖游戏状态、比分、速度设定、赛车位置、碰撞状态和音频通道;注释标出了左右对称的赛道显示内核、两辆赛车的加速处理以及按游戏模式切换的配色表。

MiniDig 网站上的这份 6502 汇编清单带有标签和注释,把 Activision 1981 年为 Atari 2600 推出的手柄游戏 Kaboom! 重建为 2K ROM 源码。汇编开关可选择 NTSC 或 PAL 的时序与配色,并可在 Mad Bomber 原版的来回移动与平滑移动之间切换。带标签的常量涵盖手柄范围、炸弹组规模和各显示内核,注释还指出了游戏从未读取的炸弹组表项。

这是《星之卡比64 水晶碎片》的进行中反编译。美版 ROM 命名为 baserom.us.z64。make setup 提取资源,make 构建项目。构建环境是 Linux 或 WSL,需要 python3、git、MIPS GNU 编译器、来自 n64decomp 的 qemu-irix 包,以及 uv。页面报告 97% 的代码已经匹配。

作者使用 REA 6.3.0 与 Ghidra,为 DOS 共享软件 LEZAC.EXE 中发现的全部 215 个过程导出档案、伪代码和汇编,再将其中少量例程恢复为 Pascal 和可移植 C。恢复的代码以原 x86 指令为对照进行测试,固定版本的 DOSBox-X 基线记录了原游戏的运行情况。README 将成果界定为分析档案和少量恢复例程;尚无可游玩或逐位一致的重建,恢复代码也不是原作者的源码。

该项目把《凯恩的遗产:灵魂掠夺者》的 MIPS R3000 代码译成 C,再构建现代移植。 SLUS_007.08 完成度徽章是 78%。它使用 Valkyrie 模拟层和 SDL2。列出的平台是 Windows 7 到 11、Linux、64 位 Mac、UWP、通过 UWP 的 Xbox One 和 Series、通过 Emscripten 的网页,以及 Android。页面链接了一个 WebGL 演示。构建步骤在 CONTRIBUTING.MD。

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