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

逆向工程资源集合

精选逆向工程资源

1,253 项工具、项目、集成、案例与参考资源,覆盖网站、游戏、应用、原生二进制、固件及通信协议。每个条目都保留一手来源链接、使用要求与复核日期。

搜索与筛选浏览仓库研究论文推荐资源 精选目录 JSON ↓
来源复核与验证范围

“来源已复核”表示说明已依据一手文档核对。完整的使用条件与来源列在各条目页面,本页显示其数量和复核日期。

网站

61 项资源

全部分类

90 项带“网站”标签 · 查看全部 90 项 →

案例

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 客户端提供信息搜索与详情、账户功能,以及聊天会话列表和未读消息数。

工具、项目与集成

48 项资源

Node.js 命令行工具,通过 Playwright 驱动 Chromium 或 Firefox 渲染网站,并从 DOM 读取计算样式来提取其设计系统:标志、附带判定依据的颜色角色、字体排版、间距、边框、阴影、动效、断点,以及按钮、输入框等组件样式。结果可导出为 W3C 设计令牌(DTCG)、Tailwind v4 或 shadcn/ui 主题、DESIGN.md、HTML 报告或品牌指南 PDF,还能对页面中实际的前景与背景组合做 WCAG 对比度检查,并在 CI 中与已提交的基线比较、拦截设计漂移。它也能作为 MCP 服务器供智能体客户端调用。

命令行工具,可把源映射(source map)中内嵌的原始 JavaScript 和 CSS 源码重新写出为文件。它能读取 .map 文件,也能读取 sourceMappingURL 中内联了 Base64 或 URL 编码映射、或指向同一目录下映射文件的 JavaScript 和 CSS 文件,并可按正则表达式筛选、递归遍历目录。默认只按文件名平铺输出,使用 --preserve 则保留映射中的目录结构。

专门处理 Obfuscator.io(javascript-obfuscator)所生成 JavaScript 的反混淆工具,README 称也能处理其大部分分支版本。它在 Babel AST 上进行静态处理,可还原隐藏在经过轮转、Base64 或 RC4 编码的字符串数组中的字符串,内联代理函数,化简对象、算术表达式和字符串拼接,删除死代码和混淆器的防篡改包装代码,并还原控制流平坦化。配置会自动检测,作者另提供在线版本。

通用的 JavaScript 反混淆工具,针对常见混淆手法,以 js-deobfuscator 之名发布在 npm 上,可作为库或命令行工具使用。它能展开字面量数组并替换对其的引用,移除简单代理函数、数组代理函数和算术代理函数,化简算术表达式和字符串拼接,删除死分支,把计算属性访问转为静态属性,重命名 _0xca830a 这类十六进制标识符,并美化输出代码。作者另提供在线版本,并单独维护一个针对 Obfuscator.io 输出的反混淆工具。

面向 Adobe Flash SWF 文件的 Java 桌面反编译与编辑工具。它可反编译 ActionScript 1/2 和 AS3,并与对应的 P-code 对照显示;既能以源码形式(实验性)编辑脚本,也能通过汇编视图编辑,还可导出或替换图像、形状、声音、视频、字体和文本,支持 SWF 转 FLA、SWF 与 XML 互转,以及输出 SVG 或 HTML5 Canvas。它还能打开 SWC、ABC 文件以及 Scaleform GFx 和 64 位 Iggy 文件,内置 ActionScript 调试器和针对混淆 AS3 的反混淆处理,并以 ffdec_lib Java 库和命令行形式提供其解析与反编译功能。

游戏 · 网站完整条目

主要面向 javascript-obfuscator(obfuscator.io)输出的 JavaScript 清理与反混淆工具。它用 acorn 解析脚本,再运行一组固定的 AST 转换器:折叠表达式、整理成员访问、删除死分支、拆分逗号表达式、还原基于 switch 的控制流平坦化,并解码字符串数组;其中 base64 和 RC4 解码器以 TypeScript 重新实现,而不是执行输入代码。它以 deobfuscator 之名发布在 npm 上,提供 synchrony 命令行工具和库 API;可选的重命名会把标识符换成生成的单词名,并不能恢复原名。

Go 编写的命令行工具,可根据 webpack 等打包工具生成的源映射(source map)重建网站前端原有的 JavaScript 源码目录树,并把映射中内嵌的每个源文件写到其记录的路径下。它可通过 URL 或本地路径读取 .map 文件,递归处理整个目录中的 .map 文件,也可抓取 JavaScript 文件并跟随其中的 sourceMappingURL 注释或 SourceMap 响应头,内联的 data: 映射同样支持。

一款 Electron 桌面应用,对 Angular 项目的 TypeScript 源码做静态分析,以交互式图形展示其中的 NgModule、组件、指令、管道和服务提供者及其依赖关系,无需运行该应用。通过项目的 tsconfig 文件载入后,可从模块树逐层查看单个模块、模板和提供者,支持符号模糊搜索,并可将当前图形导出为 PNG。

Bishop Fox 推出的 Go 库与命令行工具,借助 tree-sitter 解析 JavaScript,还原脚本所调用的接口地址;它依据代码如何使用某个值来判断,而不仅仅依靠正则表达式。URL 提取会跟踪 location 赋值、window.open、fetch、XMLHttpRequest 和 jQuery 请求调用,保留 HTTP 方法、请求头以及查询或请求体参数,并以占位符代替只有运行时才能确定的值。其他模式可标记形似凭据的值、打印语法树、运行 tree-sitter 查询以及格式化压缩代码。

HUMAN Security 推出的 Node.js JavaScript 反混淆工具。它先识别混淆类型,针对 obfuscator.io、Caesar Plus 和基于数组的混淆模式运行相应处理器,再迭代执行 40 多个 AST 模块,重建字符串、求解表达式和函数调用并简化控制流;其中不安全模块会在沙箱中求值代码。可作为命令行工具或库使用。

Rob Wu 开发的浏览器扩展及网页版工具,无需安装即可查看已打包的浏览器扩展。在 Chrome 网上应用店、Opera、Firefox、Thunderbird 和 Microsoft Edge 的扩展页面上,它会添加一个按钮,可将扩展包下载为 zip 或在查看器中打开;托管在其他位置的扩展包链接也能打开。查看器支持 CRX、NEX、XPI 和 ZIP 文件:可列出并筛选文件,按字符串或正则表达式搜索内容,格式化代码并高亮语法,预览图片,打开嵌套的 zip,显示各文件的哈希值,还能根据扩展包的公钥、签名或 manifest 推算扩展 ID。

TypeScript 库及命令行工具,可根据 HTTP 流量的 HAR 抓包记录推断 OpenAPI 3.0 或 3.1 文档,大致基于 har2openapi 改写。请求按域名分别生成文档,可选择把路径中的 ID 转为参数,根据观测值推断查询参数、表单和 JSON 请求体的结构,并把多份抓包合并到相同的操作中。可选设置还能提取可复用的组件模式、保留多个经脱敏的示例、仅在所有样本都包含某字段时才将其标为必填、附加逐字段的观测计数作为依据,并应用 OpenAPI Overlay,使手工补充的名称和修正在重新生成后得以保留。

基于 Babel AST 的处理工具,可把混淆过的 JavaScript 还原为可读源码,每次运行选择一个目标:javascript-obfuscator(obfuscator.io)、JS-Confuser 2.x(直至 high 预设)、sojson 及其面向 jsjiami.com.v7 的 v7 变体、sojson 风格的 jjencode,以及处理不可达代码、嵌套代码块和常量表达式的通用目标。另一个按版本区分的 obfuscator.io 目标会报告检测到的编码器版本区间;遇到无法读取的字符串数组层时,它不输出结果并说明原因,而不是给出解了一半的程序。JS-Confuser 文档逐项列出可还原的变换,以及变量重命名等会丢失信息、无法恢复的变换。

基于浏览器的 Vue 应用,用于还原 Obfuscator.io 藏在字符串数组查找背后的 JavaScript 字符串。用户粘贴混淆脚本,并填写其中的字符串数组或解码函数名(如 _0x439c);工具会把调用识别为直接数组下标、单参数解码函数或双参数 RC4 式解码函数,借助脚本自带的解码函数把每次调用替换为字符串字面量,再把方括号属性访问改写为点号形式并美化输出。作者在 deo.sigr.io 提供演示站点。

Airbus CERT 开发的 Rust 脚本去混淆引擎:用 tree-sitter 解析 PowerShell 或 JavaScript,应用一组推断语法树节点取值的规则,再输出化简后的脚本。PowerShell 规则可折叠算术与字符串运算、类型转换、-join、-replace 和格式化运算符、Base64 与 UTF 解码、可预测的变量和循环;当数据和密钥都在脚本中时,还能还原 Gzip 或 Deflate 流以及 AES 解密。较新的 JavaScript 规则涵盖字面量、运算符、字符串与数组内置方法、atob 与 btoa、Buffer 调用、可预测的函数调用以及 JSFuck 写法。命令行工具可列出、选用或跳过规则,并把每一步改写导出为 HTML 或 JSON;Python 和 WebAssembly 绑定可嵌入该引擎,README 中链接的在线版本即基于此。

面向 Timofey Kachalov 的 javascript-obfuscator(亦以 obfuscator.io 提供)所生成 JavaScript 的 Node.js 反混淆工具。它用 esprima 解析样本,依次运行十一个与该混淆器同名的阶段:移除注入的自我防护和调试保护代码,还原控制流平坦化和死代码注入,恢复被转换的字面量和对象键,把字符串数组调用替换为解码后的字符串,化简结果,并对传给 eval 的代码递归处理。字符串数组相关代码可自动识别,也可拆成单独文件输入;Examples 目录收录了原始、混淆后和反混淆后的成对样本。

面向 Windows、Linux 和 macOS 的开源 HTTP(S) 调试代理,可为浏览器、终端、后端运行时、Electron 应用和 Android 设备配置拦截,并完整展示每个请求与响应的头部和正文,提供正文解码、标准头部内联说明和过滤功能。其透明代理在同一端口处理明文 HTTP、HTTPS、HTTP/2 和 WebSocket;断点可改写实时请求或响应,内置客户端可发送自定义请求。本仓库是项目的总说明与问题追踪仓库,界面、服务端、Mockttp 代理库、Android 应用和桌面外壳位于同一组织的其他仓库。

应用 · 协议 · 网站完整条目

一个在浏览器中手动反混淆 JavaScript 的工作台,也部署在 GitHub Pages 上,以 Monaco 编辑器搭配逐步改写和求值命令,而非一键式流程。格式化命令可美化代码,并对选区或整个文件解码转义字符串、转换十六进制数字、把方括号属性访问改为点号形式、把 _0x 式标识符改为短名称;求值命令可把声明压入代码栈,在其基础上对选中的表达式求值并用 JSON 结果替换,自动替换捕获到的变量,以及合并层层别名。README 说明这一过程并非自动完成,要求分析者熟悉 JavaScript。

一个用 Go 编写的库,用于解析、遍历、转换和重新生成 JavaScript 抽象语法树,README 将其定位于代码分析以及混淆与反混淆。其解析器基于 goja 的解析代码,自动生成的 SWC 式访问者 API 支持深度优先地改写和克隆节点,解析器(resolver)跟踪作用域与绑定,ext 包提供删除节点、判断副作用和推断取值的辅助函数,代码生成器则从语法树输出 JavaScript。文档称它是比 Babel 更轻、更快的替代品,并刻意省去了父节点、兄弟节点和引用映射以及自动化的修改辅助功能。

用于安全研究的开源 HTTP 工具包,作者希望把它做成 Burp Suite Pro 的替代品。单个 Go 程序即可运行一个使用自生成根 CA 的中间人 HTTP 代理,把经过代理的请求和响应记录到按项目划分的数据库中,支持搜索过滤和范围规则,并提供 Web 管理界面。分析者可在界面中拦下请求和响应进行人工检查,再编辑、放行或取消;也可把已记录的请求复制到 Sender 模块,修改后重新发送。

Node.js 命令行工具,可把 Browserify 或 Webpack 生成的 JavaScript 打包文件还原为按模块拆分的文件树,便于逐个文件阅读,而不必面对一整个脚本。JSON 配置文件指定打包类型、入口模块,以及可选的 knownPaths(把数字模块 ID 映射为输出文件或 node_modules 中的包路径);它还能以内联或变量方式改写被压缩工具重命名的 require 标识符,使输出可重新打包或在 Node 中运行。README 称该工具是作者为一个逆向工程项目了解打包结构而编写的,并指出拆包是有损的:无法恢复 package.json 设置和 Webpack 模块名称,压缩过的代码拆出后仍是压缩状态。

Minded Security 的 JavaScript 反混淆工具,由 Stefano Di Paola 于 2015 年从 esdeobfuscate 分支而来,在 esprima 语法树上通过部分求值简化脚本。它会折叠常量和字符串表达式,经由变量和纯函数调用传播已知值,对内置 String、Array、Number 方法以及 atob/btoa 的调用求值,并把传给 eval 的字符串参数重新解析为代码。它可作为命令行工具处理文件或标准输入,也可作为带网页界面和 REST 接口的 Express 服务运行,或作为经 browserify 打包的库使用。

用于研究恶意 JavaScript 的 Node.js 工具:在模拟的 Windows JScript 环境中运行样本,模拟 WScript、ActiveX、文件系统、注册表、WMI 和 HTTP 对象,并通过改写源码暴露 eval 调用和条件编译代码。每次分析都会生成结果文件夹,记录请求过的 URL 及其中导致可执行载荷的 URL、执行过的每段代码(JavaScript、cmd.exe 和 PowerShell 命令)、写入的文件及其类型和哈希,以及 IOC 列表;默认情况下,下载请求会收到模拟的 404 错误,以暴露样本的备用站点。支持批量分析、可选预置的浏览器对象桩代码文件、Docker 镜像、REST API,以及导出到 VirusTotal 或 Cuckoo,便于大规模初筛。

游戏

318 项资源

全部分类

377 项带“游戏”标签 · 查看全部 377 项 →

案例

239 个案例

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

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

二进制 · 游戏完整条目

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

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

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

二进制 · 游戏完整条目

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

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

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

二进制 · 游戏完整条目

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

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

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

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

二进制 · 游戏完整条目

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

游戏 · 协议完整条目

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

固件 · 游戏完整条目

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

固件 · 游戏完整条目

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

将 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。

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

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

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

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

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

将 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% 的函数已反编译,其中大多已匹配;产物无法运行游戏。

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

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

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

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

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

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

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

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

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

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

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

以 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 等作品的部分支持。

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

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

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

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

固件 · 游戏完整条目

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

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

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

游戏 · 协议完整条目

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

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

二进制 · 游戏完整条目

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

工具、项目与集成

79 项资源

面向匹配反编译的协作网站:其编译服务用选定平台的编译器编译候选源码,汇编目标汇编代码,并用 asm-differ 对比两个目标文件。对其 MIPS、PowerPC、ARM 和 SuperH 平台,m2c 可生成初步反编译代码。18 个平台定义涵盖 N64、PlayStation、PS2、PSP、GameCube/Wii、Wii U、DS、GBA、3DS、Switch、Saturn、Dreamcast 和 Xbox 360,以及 IRIX、Mac OS X、MS-DOS、Win32 和 Android x86。

二进制 · 游戏完整条目

面向反编译与模组项目的二进制拆分工具:由 YAML 配置指定在何处、以何种方式把 N64 ROM 或 PSX、PS2、PSP 二进制切分为代码、数据和素材段。扫描阶段反汇编代码与数据,MIPS 部分由 spimdisasm 处理;拆分阶段写出文件以及用于重新构建输入文件的链接脚本。可编写自定义段类型扩展该流程。

二进制 · 游戏完整条目

面向匹配反编译项目的反编译器,将 GNU as 格式的 32 位 MIPS、ARM、PowerPC 和 SuperH 汇编转换为 C 代码初稿,并部分支持 C++。目标由平台、编译器(IDO、GCC 或 MetroWerks CodeWarrior)和语言组成;上下文文件提供类型信息,还能推断未知的结构体字段并生成全局变量初始化代码。README 将它与 splat、asm-differ 和 decomp-permuter 并列使用,decomp.me 也调用它生成初步反编译结果。

二进制 · 游戏完整条目

面向 GameCube/Wii 匹配反编译的工具包:分析 DOL 和 REL 可执行文件,按项目配置将其拆分为可重定位目标文件,并为 CodeWarrior 链接器生成 ldscript.lcf,使反编译出的目标文件可逐个替换原有部分,同时将重新链接的二进制与原版核对。分析涵盖函数边界、Metrowerks/SDK 签名库、重定位、节区和数据对象,且无需汇编器即可直接写出目标文件。其命令行还可处理光盘镜像、归档、压缩格式、CodeWarrior 符号还原和 DWARF 转储。

二进制 · 游戏完整条目

通过 Lua 桥接脚本和 Python MCP 服务器把 MCP 客户端连接到 Cheat Engine,使智能体能够检查用户在 Cheat Engine 下运行的进程:读取内存与扫描数值、解析指针链、剖析结构体、识别 RTTI 类名、反汇编、查找交叉引用,以及设置硬件或 DBVM 断点。另有工具组可写入内存、注入 DLL 或代码、自动化输入,并调用 Cheat Engine 的内核模式驱动。README 将其限定于教学和研究用途,并声明不支持多人游戏作弊或违反服务条款的行为。

二进制 · 游戏完整条目

将 SGI IDO 5.3 与 7.1 C 工具链中的 IRIX MIPS 程序(如 cc、cfe、uopt、ugen 和 as1)静态重编译为原生 Linux、macOS 和 Windows 可执行文件,使匹配式反编译项目能在现代主机上以原始编译器代码进行构建。它重编译的是编译器而非游戏,本身既不反编译也不转换游戏代码。

二进制 · 游戏完整条目

实验性的静态重编译器,将 PlayStation 2 ELF 可执行文件中的 MIPS R5900 代码转换为 C++,并与随附的运行时链接。ps2xAnalyzer 或 Ghidra 导出脚本为每款游戏生成包含函数、存根、跳过项和指令补丁的 TOML 配置;ps2xRecomp 输出逐条指令的直译代码;ps2xRuntime 与 ps2xIOP 提供客户机内存、系统调用分发、带 HLE 回退的 IOP 模块执行,以及仅部分实现、大多为存根的 GS/VU 硬件。输出不是反编译源码,让游戏真正运行仍需针对每款游戏进行移植。

二进制 · 游戏完整条目

在匹配反编译项目自身的构建之外进行检查:用未打补丁的原版 ee-gcc 2.96 及汇编器重新编译其 C 代码,再逐函数与原程序逐字节比较,并按可能的工具链原因对每处差异分类。配套脚本可将 ELF 符号表导出为 CSV,并转换为 splat 符号文件。默认配置针对 Xenosaga Episode I;README 称方法可推广,默认配置则不能。

二进制 · 游戏完整条目

将 Game Boy 和 Game Boy Color ROM 转换为可移植 C 项目的静态重编译器:它解码并分析分 bank 的 LR35902 代码,生成 C 代码及机器可读的元数据,再与共享的 SDL2 运行时链接,由运行时处理视频、音频、输入、存档和硬件时序。静态分析未覆盖的跳转目标会回退到解释器执行。仓库还提供差分对比、回放以及画面和音频捕获工具,并附有一个 Pokémon Crystal 移植,借助对特定 ROM 的挂钩实现原生功能。

二进制 · 游戏完整条目

用于围绕 decomp-toolkit 创建 GameCube 和 Wii 匹配反编译仓库的项目模板。其 configure.py 生成 ninja 构建:依据各版本的 config.yml、symbols.txt 和 splits.txt 分析并拆分游戏的 DOL 和 REL 文件,用当年的 Metrowerks 编译器编译反编译出的 C/C++ 代码,重新链接后与记录的 SHA-1 哈希核对。模板还集成了用于逐目标文件比对的 objdiff、面向 decomp.dev 的进度报告,以及一个 GitHub Actions 工作流示例。

供 N64Recomp 静态重编译项目和传统源码移植使用的 N64 游戏运行时,由两个库组成。ultramodern 重新实现 libultra 的核心服务(线程、消息队列、计时器、控制器、音频、RSP 任务处理和 VI 时序),并将手柄输入、音频播放和图形渲染器(推荐 RT64)交给宿主项目注册的回调处理。librecomp 负责将 N64Recomp 生成的代码与 ultramodern 衔接,并补充覆盖段处理、PI DMA 读取 ROM,以及 EEPROM、SRAM 和 Flash RAM 存档。

REDscript 的编译器与反编译器工具集。REDscript 是一种静态类型、面向对象的语言,用于为 CD Projekt 在《赛博朋克 2077》中使用的 REDengine 引擎编写脚本。其 Rust crate 负责解析和分析源码、生成字节码并对泛型做单态化、将 .redscripts 字节码包反编译回 REDscript 源码、读写 REDengine 原生二进制格式,并提供可直接替代 CD Projekt scc 脚本编译器的实现,以及带源码映射的 C API。命令行提供 decompile、compile、lint 和 format 命令;语言服务器和调试器位于单独的 redscript-ide 仓库。

用于执行、逆向分析并重写无源码实模式 DOS 程序的 PC 模拟器。程序运行时它会构建控制流图,退出时转储内存、执行流、Ghidra 兼容的符号,以及一个可独立运行的 C# 项目,其中生成的函数会覆盖原有汇编代码,分析者可以在程序始终可运行的前提下逐个函数将其改写为可读代码。它还提供带自定义分析命令的 GDB 远程服务器、配有 C 头文件结构查看器的内置调试器、可选的 HTTP 内存 API,以及工具覆盖 CPU、内存、断点、控制流图和设备状态的 MCP 服务器;可选的 Ghidra 插件可导入这些转储。

二进制 · 游戏完整条目

将 PlayStation 2 游戏静态重编译后在浏览器中运行:eerecomp 把游戏启动程序中的 Emotion Engine 代码转换为 C++,再编译为 WebAssembly;运行时负责仿真主机的其余部分,包括高层仿真的 EE 内核、以解释器运行光盘 IRX 模块的 I/O 处理器、向量单元、SPU2 音频,以及基于 WebGPU 计算着色器的 Graphics Synthesizer。其移植脚本会反复进行无界面运行,找出经指针调用的函数和需要预先编译的向量单元微程序,最后构建网页和原生运行程序。

二进制 · 游戏完整条目

面向初代 Xbox 游戏的静态重编译工具包:Python 流水线解析零售版 XBE,进行反汇编、识别库函数、恢复调用约定,并将每个 x86 函数提升为 C 代码。生成的代码在独立的游戏项目中编译,并链接工具包的运行时库;这些库替代 Xbox 内核,并将 Direct3D 8、NV2A、音频和输入转换到 Direct3D 11 与 Win32 API,在 Linux 和 macOS 上则转换到 SDL2 与 OpenGL。

二进制 · 游戏完整条目

基于 PCSX 分支、面向开发与逆向工程的 PlayStation 1 模拟器,提供解释器与动态重编译器、软件和 OpenGL 渲染器、MIPS 调试器、显存查看器、SPU 与 GPU 调试工具,以及内置 GDB 服务器;其文档说明了如何用 gdb、IDA Pro 和 Ghidra 调试器连接它。LuaJIT API 提供断点、内存与寄存器、汇编器和 ISO 构建器等接口,可选的 REST Web 服务器还能转储内存和显存。仓库另含替代 BIOS OpenBIOS、PS-EXE 转换与打包工具、Psy-Q 目标文件转换器、用于与模拟器交换符号和覆盖段的 Ghidra 脚本,以及 PS1 硬件设计。

二进制 · 游戏完整条目

面向 Unity IL2CPP 应用的静态分析工具:读取 IL2CPP 二进制及其 global-metadata.dat,将应用的类型结构和方法地址输出为 C# 存根代码、供 ILSpy 和 dnSpy 等反编译器使用的 .NET 程序集垫片 DLL、为 IDA 和 Ghidra 套用符号与类型的 Python 脚本、C++ 类型脚手架以及 JSON 地址映射。三套 API(另以 NuGet 包发布)和插件 SDK 开放二进制元数据、.NET 类型模型和 C++ 模型,供自定义分析使用。README 说明它不是反编译器,不会还原方法源码。

应用 · 二进制 · 游戏完整条目

面向 Mono 和 IL2CPP 两种运行时 Unity 游戏的模组加载器,从本地安装游戏目录中的文件夹加载插件和模组;在 Windows 上通过代理 DLL(默认为 version.dll)随游戏一同启动。对于 IL2CPP 游戏,其程序集生成器会调用 Cpp2IL 和 Il2CppInterop 生成托管互操作程序集,并随附 HarmonyX 与 MonoMod 用于运行时修补。其日志可捕获 Unity 播放器输出与 Harmony 消息,调试选项还为 Mono 游戏提供 Mono 调试服务器,为 IL2CPP 游戏提供等待调试器附加的选项。

面向 Unity Mono、Unity IL2CPP 以及 XNA、FNA、MonoGame 等 .NET Framework 游戏的插件与修补框架,可将模组和分析插件加载到本地安装的游戏中。插件借助随附的 HarmonyX 和 MonoMod.RuntimeDetour 在运行时修补方法,预加载修补器则在游戏加载托管程序集之前用 Mono.Cecil 改写它们;在 IL2CPP 游戏上,它会调用 Cpp2IL 和 Il2CppInterop,从游戏二进制和 global-metadata.dat 生成互操作程序集。其指南还介绍了配置、日志,以及用 dnSpy 调试插件和游戏程序集。

实验性 SDK,可将 Xbox 360 可执行文件静态重编译为可移植的 C++23 代码,在 Windows、Linux 和 macOS 上原生运行。其 rexglue 命令行工具为单个游戏搭建 CMake 项目,并根据 TOML 配置分析 XEX 二进制(导入解析、PDATA、基本块发现、空隙填充、跳转解析和调用目标校验),再将每条 PowerPC 指令翻译为 C++;生成的代码由派生自 Xenia 模拟器核心的运行时承载,图形后端为 D3D12 或 Vulkan。生成的函数均为弱别名,可用原生 C++ 覆盖或在函数内插入钩子来替换,从而逐个函数完善移植。

二进制 · 游戏完整条目

用于将 PlayStation 3 游戏静态重编译为原生可执行文件的工具包与运行时。Python 工具解析 PS3 ELF 和 PRX 文件,识别函数与固件导入,并将 PPU 和 SPU 代码提升为 C/C++;项目模板再将这些代码与 C/C++ 运行时链接,由运行时提供 LV2 系统调用、系统库的高层仿真,以及转换到 Direct3D 12、Metal 或 Vulkan 的 RSX 图形层。

二进制 · 游戏完整条目

面向 Clickteam Fusion 2.5 游戏的反编译器,仍在开发中,也针对更早的 Multimedia Fusion 1.5 文件做了修复。其 .NET 控制台程序可读取 Windows 可执行文件、Android APK、iOS IPA、CCN 数据文件以及现有的 MFA 项目,再运行插件式工具:MFA Parser 将游戏重新写成可编辑的 Fusion 项目,Asset Dumper 则导出图像、音效、音乐、字体、图标、着色器和打包文件。

将 LuaJIT 字节码文件反编译回 Lua 源码,作为旧版 Python LuaJIT 反编译器的替代品编写。README 称它完整支持 goto 和去除调试信息的字节码,包括还原局部变量和上值;其布尔表达式恢复基于一篇已发表的反编译算法论文。它可处理单个文件或整个文件夹,输出 .lua 文件。

二进制 · 游戏完整条目

面向 Nintendo DS 程序的 Ghidra 加载器与插件。它校验 .nds 文件头,把 ARM9 或 ARM7 二进制映射到其内存地址,并建立主机的内存区域和 I/O 寄存器标签;经 SDK 压缩的 ARM9 代码和覆盖模块(overlay)会被解压,导入时用户选中的覆盖模块会载入内容,可选的覆盖模块管理插件还能在导入后切换各覆盖模块。仓库另附一个小型 Ghidra Function ID 数据库,收录 NitroSDK 3.0 例程,用于识别函数。

用 Python 编写的反汇编器,可把 Game Boy 或 Game Boy Color ROM(包括多存储体 ROM)转换为与 RGBDS 兼容的汇编代码,并生成用于重新汇编的 Makefile,以便将重建出的 ROM 与输入文件比对。ROM 旁可放置同名 .sym 文件,用来提供标签,并标出代码、数据、文本、填充以及 1bpp/2bpp 图块图像区段;图像会输出为 PNG,再由 rgbgfx 转换回去,文本可使用自定义字符映射,硬件寄存器则采用 hardware.inc 中的名称。README 解释说,SM83 指令长度不一,且数据与代码交错存放,因此需要标出代码区段,避免从指令中间开始反汇编。

二进制 · 游戏完整条目

面向 PlayStation Portable 所用 Allegrex CPU 的 Ghidra 处理器模块,由 Ghidra 的 MIPS 模块衍生而来。它补充了 Allegrex 特有指令、VFPU 指令的反汇编与基础反编译、PSP 调用约定,以及可识别 PSP 可执行文件的 ELF 加载器;加载器会处理 PSP 特有的 A 类和 B 类重定位节,并支持导入后重新设定基址。附带的脚本可导入和导出 PPSSPP 的 .sym 函数标签文件,另有导出器可把内核模块写成可供链接的可重定位目标文件。

二进制 · 固件 · 游戏完整条目

命令行工具,可把用 GameMaker 8.0 或 8.1 构建的游戏还原为可编辑的 .gmk 或 .gm81 项目文件。它读取已构建可执行文件中与运行器(runner)并存的 gamedata 部分,按游戏版本对应的项目格式写出其中的设置、精灵、声音、背景、路径、脚本、字体、时间线、对象、房间、扩展、附带文件以及 GML 代码。该工具基于 OpenGMK 项目的 gm8exe 库用 Rust 重写,取代了团队此前对 WastedMeerkat 的 gm81decompiler 的分支,现与重新实现 GameMaker 运行器的 GM8Emulator 一同在 OpenGMK 仓库中开发。

读取 Unreal Engine 1、2、3 包文件(如 .u、.upk 和 .udk)的 C# 库,可自动识别匹配的游戏构建,并反序列化其中的导出、导入对象和属性。其主要目标是通过重建类、状态、函数、结构体、枚举和默认属性,把 UnrealScript 字节码反编译回源码;它也能反序列化字体、声音、调色板和纹理。README 中的逐游戏兼容表从 Unreal、Deus Ex 一直列到 Splinter Cell、Mass Effect 和 Batman: Arkham 系列,独立的 UE Explorer 图形界面即基于此库构建。

面向 Super NES ROM 的 Windows 反汇编工具:使用者把字节标记为代码或数据,逐步跟踪 65816 代码,工具同时记录 M、X 标志位以及数据库(data bank)和直接页寄存器;使用者添加标签和注释后,可导出供 asar 汇编器使用的汇编代码,README 称其能重新编译回原始二进制。执行上下文可来自 BizHawk 或 BSNES 的跟踪日志、BSNES 使用情况图和 BizHawk 代码/数据日志,也可通过套接字从定制的 bsnes-plus 版本实时采集。项目文件以便于合并的 XML 保存注释,只记录 ROM 的链接和校验和而不包含 ROM 本身,便于多人协作完成同一份反汇编。

由 Il2CppDumper 作者 Perfare 编写的 Zygisk 模块,在 Unity IL2CPP Android 应用运行时从进程内部导出类型元数据。模块针对单个包名构建,等待应用加载 libil2cpp.so 后解析运行时导出的 il2cpp API,遍历每个已加载程序集中的类,并把 dump.cs 写入应用的 files 目录,其中列出命名空间、类、接口和枚举,以及带偏移量的字段、属性和标注 RVA 与虚拟地址的方法签名。对于在 x86 设备上运行的 ARM 版应用,它会通过 Houdini 原生桥加载自己的 ARM 库。

应用 · 游戏完整条目

跨平台的 Unity 游戏资源包(asset bundle)与序列化资源文件读写工具,最初参照已归档的 UABE 编写,但并非其分支。README 将它定位为改造(modding)与研究工具而非提取工具,只想提取资源的用户可改用 AssetRipper 或 AssetStudio;它能打开 Unity Addressables 系统使用的资源包,但修改后的资源包须先用另一个工具清除 CRC 校验才能加载。它基于 AssetsTools.NET,并借助 Cpp2IL 和 Mono.Cecil;仓库中还附有纹理、音频片段、字体和文本资源插件。

用于浏览、提取和导出 Unity 3.4 至 2022.1 版本资源与资源包(asset bundle)的工具。它可把 Texture2D 和 Sprite 图像转换为 PNG、TGA、JPEG 或 BMP,把 AudioClip 转换为 MP3、OGG、WAV、M4A 或 FSB(并支持将 FSB 转为 WAV),还能导出字体、OBJ 格式网格、文本资源、着色器、影片与视频片段,以及 JSON 格式的 MonoBehaviour 数据;模型可从场景层级中导出,Animator 可连同绑定的 AnimationClip 导出为 FBX。导出 MonoBehaviour 时需要指定程序集所在目录(如 Managed 文件夹),IL2CPP 构建则需改选 Il2CppDumper 生成的 dummy DLL 目录。

用于解码电子游戏中流式预录音频的库与工具,支持数百种格式和编解码器,从常见的游戏引擎文件到单款游戏专用的编解码器,并能处理循环音乐、子曲目、配套文件、自定义容器和加密密钥。借助 TXTH 文本描述文件可为更多格式(包括原始音频)添加支持,TXTP 文件则可为单个文件设置强制循环、合并多个文件等选项。它提供 vgmstream-cli 解码器(可把受支持的文件转换为 WAV)、vgmstream123 播放器,以及 Winamp、foobar2000、XMPlay 和 Audacious 插件,vgmstream.org 上还有在线网页播放器。

VG Reverse Engineering 将 Vainglory: Community Edition 回放文件解码为玩家名称、英雄、击杀/死亡/助攻统计、物品、金币和计分板计数。离线工具还可导出 JSON、CSV,维护 SQLite 目录,并记录 VGR 记录结构与事件解释;输出保留数据来源,对缺少依据的数值保持空值。

应用

174 项资源

全部分类

306 项带“应用”标签 · 查看全部 306 项 →

案例

62 个案例

作者报告借助 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 颜色。

应用 · 协议完整条目

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 环境中结合进程、注册表和网络记录研究载荷,报告了所恢复的命令控制机制。

应用 · 二进制完整条目

工具、项目与集成

112 项资源

源自 Fernflower 的 Java 及其他 JVM 语言反编译器,延续了 ForgeFlower、Fabric 和 Quiltflower 等分支的工作,注重输出质量和对现代 Java 的支持,包括 Java 21+ 的记录、密封类、switch 表达式和模式匹配。其命令行接受 JAR、ZIP、文件夹或 class 文件,可输出到文件夹、归档或控制台,支持多线程反编译和自动格式化。它也可作为 Maven Central 上的库嵌入使用,或通过替换 Fernflower 的插件在 IntelliJ IDEA 中使用;常规发布 JAR 内置三个插件,包括 Kotlin 支持和变量重命名。

用 Python 编写的 Android 反编译器,直接对 APK 执行查询,而不必先解包并建立索引。它在压缩的 DEX 条目中就地探测数据,利用 R8 编译器的常量重定位和指令去重所留下的布局,跨 DEX 文件搜索字符串、类型、方法和字段引用;对指定的类,则在内存中重建一个最小且自洽的 DEX,再由内置的 Androguard 反编译器副本转换为 Java 代码。droidasc 命令行和 Tk 图形界面可列出类、反编译单个类、解码 AndroidManifest.xml,并查找子类或接口实现;README 将其定位为供智能体批量分析 APK 的轻量后端。

基于 Frida 的动态分析工具,用于跟踪 Android 应用对 JNI API 的调用,类似 frida-trace 或 strace,但面向 Java 本地接口。它记录原生库通过 JNIEnv 与 JavaVM 结构发起的 JNI 调用,支持包含/排除过滤、回溯以及可选的 JSON 输出以便后续处理。其跟踪引擎另以 jnitrace-engine 库形式单独发布。

用于读取、修改和重建 PE(可移植可执行)文件的 C# 库,既支持 Windows 原生映像,也支持带 .NET 元数据的映像。它提供三个抽象层次:原始文件头和节区(PEFile);导入、导出、TLS、异常、调试信息和 Win32 资源等数据目录的解析结果(PEImage);以及类似 System.Reflection 的 .NET 程序集和模块模型,涵盖托管、原生和动态方法体。它还能从 AppHost/单文件捆绑包中提取文件,支持 ReadyToRun 映像,无需 DIA 即可读取 PDB 和 Portable PDB 符号;上游的设计目标是在面对格式异常或经过混淆的二进制时保持稳健。

应用 · 二进制完整条目

由 JustDecompile 原班开发者维护的跨平台桌面 .NET 反编译器,是其 JustDecompile 引擎的延续,基于 Mono.Cecil 并采用 Avalonia 界面。它把程序集加载为由命名空间、类型、成员和已解析引用组成的树,以 C#、VB.NET 或 IL 显示反编译结果,支持转到定义和前进/后退导航,并可搜索名称、类型、字符串字面量和指令。“创建项目”命令可将程序集导出为 Visual Studio 2015、2017 或 2019 项目。

基于 Wails 构建的 Windows 与 macOS 桌面图形工具,用于解包微信小程序 .wxapkg 包以供研究。它会扫描本机微信 3.x 和 4.x 安装中的小程序包目录(包括各用户目录),也可处理用户选定的文件或目录;PC 客户端以加密形式存储的包会先行解密。包内每个文件都按其记录的路径写出,并可选择美化 JSON、HTML 和 JavaScript 代码。

处于 Alpha 阶段的 Node.js 命令行工具,可把 React Native 的 JavaScript 包(index.android.bundle 或 main.jsbundle)、未打包应用的 js-modules 目录,或 Webpack 入口包与分块包拆分为每个模块一个、便于阅读的文件。基于 Babel AST 的标注器、编辑器和反编译器插件会消除 Babel 辅助函数、逗号运算符链和缩写布尔值等编译痕迹,把元素创建调用还原为 JSX,并可将模块改写为 ES6 import/export 形式,最后用 ESLint 和 Prettier 整理输出。被识别为 npm 包的模块默认跳过,也可指定一个模块 ID,只输出该模块及其依赖。

面向 Hermes 字节码(.hbc)的 Rust 反编译与分析工具包;.hbc 是 React Native 应用为 Hermes 引擎打包的编译格式,README 列出支持 HBC 40 至 99 版本。其 hermes-decomp 命令行可显示文件信息、反汇编,并将整个包或单个函数反编译为 JavaScript,较慢的深度模式还能恢复更多名称;此外提供终端界面、交叉引用、调用图、控制流图、Metro 模块与闭包视图以及字节码差异比较。独立的 hermes-mcp 服务器将读取和分析功能作为 MCP 工具提供,hbc-decomp crate 则以 Rust 库的形式提供这些功能。

基于 Frida 的模块化框架,用于对分析者有权测试的 Android 与 iOS 应用进行运行时分析。通过单个协调脚本加载插件模块,检查网络与 WebView 活动、跟踪 API 调用、查看内存与加密操作、监控恶意软件行为,并处理 SSL 固定等保护。README 称其内置 90 多个可复用模块。

来自 mitmproxy 项目的工具,可在无需 root 的情况下移除使用者拥有或有权测试的 Android APK 的证书固定。它将应用标记为可调试(仅改动 AndroidManifest.xml),并通过 ADB 注入 Frida Gadget,复用 HTTP Toolkit 的解固定脚本,使检查代理能够读取应用流量。工具自带所需的 Android SDK 辅助程序,并可处理以 XAPK 形式提供的分包。

应用 · 协议完整条目

命令行工具,为使用者拥有或有权测试的 Android APK 准备 HTTPS 流量检查。它用 Apktool 解码安装包、调整网络安全配置以信任用户添加的证书、关闭证书固定,再重新编码并签名修补后的 APK,使代理无需 root 设备即可读取应用流量。也支持以 .xapk 或 .apks 形式提供的应用捆绑包。

应用 · 协议完整条目

来自 HTTP Toolkit 的一组 Frida 脚本,用于在分析自有或经授权测试的应用时检查移动应用的 HTTPS 流量。将其注入运行中的 Android 或 iOS 应用后,可把连接重定向到检查代理、将用户提供的 CA 证书加入信任库,并关闭证书固定与证书透明度检查,使代理能够读取流量。各脚本也可单独使用以挂钩特定行为。

应用 · 协议完整条目

面向分析者有权检查的应用的 Flutter 逆向框架。它通过替换为预编译的已打补丁 Dart 引擎(repack 模式)或在运行时插桩应用自带引擎(attach 模式),导出包含每个函数名称、类、库以及其在 Dart 指令镜像中代码偏移的 JSONL 清单,供 Frida 或 IDA/Ghidra 使用。它还能在关闭 Flutter 证书固定的情况下,将应用的 HTTPS 流量路由到检查代理。

应用 · 协议完整条目

用 Rust 编写的反编译器,可将 APK、多 DEX 应用以及 XAPK/APKS/APKM 容器中 035 至 041 版本的 Android DEX 字节码转换为 Java,把 lambda 和字符串拼接还原为 Java 语法,并按 jadx 的风格为局部变量命名。默认情况下,每个文件还会经过一道据称保持语义的源码级整理,内联拷贝链、恢复三元表达式和 for-each 循环并删除无用赋值;--fast 可跳过这一步。除完整反编译外,15 个查询子命令可按需返回应用与清单信息、资源、字符串、交叉引用、类层次结构、反汇编以及单个类或方法,同样的查询也可通过 REST 和 MCP 提供。

基于 smalivm 的通用 Android 反混淆工具。smalivm 是一个沙箱化的 Dalvik 虚拟机,会逐个执行方法并记录所有执行路径上可能的寄存器与类取值;遇到文件或网络输入等未知值时,两个分支都会执行。Simplify 随后对 APK 或 DEX 反复进行常量传播、死代码删除、反射还原和窥孔优化,可在保持行为不变的前提下解密字符串、去除反射;它不会重命名类或方法。smalivm 也可作为库使用,最新发布版还附带基于它的单步 Smali 调试器 sdbg。

以 C++ 编写、原生运行于 Windows 的 Dalvik 反编译器与 Android 分析工作台,无需安装即可打开 APK、DEX、ODEX、OAT、JAR、AAR 和 class 文件。除带交叉引用、重命名和注释的 Java 与 Smali 视图外,它还能识别加固壳、反混淆并解密字符串、追踪数据流与污点、求解路径,运行基于规则的恶意行为、漏洞和隐私泄露扫描,并可转储设备内存或用 Frida 钩挂方法。Shell 与服务器两种命令行模式、Python 和 Java 脚本以及一个恶意软件分诊智能体技能示例,让脚本和智能体也能调用这些分析功能。

把 VS Code 变成 Android 逆向工作台的扩展,整合 Apktool、Jadx、smali-lsp 和 uber-apk-signer。它可将 APK 解码为资源文件和 Smali 并反编译为 Java,借助语言服务器为 Smali 提供定义跳转、引用查找和诊断,还能重新构建、签名并安装修改后的应用。此外,它可为 Smali 方法生成 Frida 钩子、加入 Frida gadget、借助 apk-mitm 为 HTTPS 流量检查做准备,并生成 Quark-Engine 恶意软件分析报告。

JetBrains 的分析型反编译器,可将 Java class 文件还原为 Java 源码;IntelliJ IDEA 内置了它,用于在调试或浏览 class 文件时显示代码。独立的控制台反编译器接受 class 文件、JAR、ZIP 或目录,可通过 -e 加载仅作为分析上下文的库文件,并将 Java 源码写入输出目录。选项涵盖泛型签名、lambda、内部类、记录模式与 switch 模式、单个方法的处理时限,以及对含糊或混淆标识符的重命名,也可由使用者提供的重命名类来实现。

用于检查已编译 Java 与 Android 程序的桌面套件:拖入 class、JAR、WAR、APK、DEX、XAPK 或 APKM 文件即可浏览其中的类和资源,并可并排显示最多三个反编译器或反汇编器视图。README 列出六个内置 Java 反编译器(Krakatau、CFR、Procyon、FernFlower、JADX 和 JD-GUI)、Krakatau 与 Smali/baksmali 反汇编器和汇编器以及 javap,还有用于 APK/DEX 转换的 Dex2Jar 和 Enjarify、用于编辑的内置 Java 编译器和静态搜索。Java 和 JavaScript 插件会收到全部已加载类的 ASM ClassNode,可用于字符串去混淆或恶意代码搜索等任务。

面向鸿蒙方舟字节码(.abc)的反编译工具;HarmonyOS 应用包中的 modules.abc 即为此格式。它通过改造 jadx 反编译器实现,并借助打过补丁的 abcde 库读取文件。由于方舟字节码有很大一部分与 DEX 字节码语义相近,它沿用了 jadx 的图形界面、中间表示和处理流程:把 .abc 文件拖入基于 jadx 的窗口即可查看反编译代码。README 称 282 条方舟字节码中可用的 227 条指令均已实现,其中大部分特殊指令以伪函数形式实现。

基于浏览器的 Java 逆向工程工具:可加载 class 文件和 JAR/ZIP 归档,使用编译为可在浏览器中运行的 Vineflower(默认)、CFR、Procyon 或 JASM 进行反汇编或反编译,另有自带的字节码反汇编器。它能绘制继承与接口实现关系图以及单个方法的控制流图,搜索常量池条目、指令以及成员声明或使用位置,可应用 Tiny、SRG/TSRG/CSRG 或 ProGuard 映射,还提供剥离或规范化字节码属性的通用转换器,帮助反编译器更好地应对混淆。JavaScript 脚本 API 可添加反汇编器并操作工作区;README 自己也建议,若要进行严肃的逆向工程,应使用 Recaf。

基于 Qt6 的桌面前端,在 IDE 式工作区中调用 Apktool、JADX、uber-apk-signer 和 ADB 处理 Android 安装包。它将 APK 解码为 smali 和资源文件,可选附加 JADX 生成的 Java 代码,随后重新打包、签名(可生成密钥库并执行 zipalign)并安装到所选设备;还可指定厂商框架文件和额外的 Apktool 参数。解码后的项目以文件树形式打开,提供 smali、Java、XML 和 YAML 的语法高亮编辑、图片查看器、十六进制编辑器和跨文件搜索。

RedNaga 推出的 Android 安装包识别工具,类似 PEiD。它借助 yara-python-dex 的 DEX 模块,用 YARA 规则扫描 APK、DEX 文件、嵌套的 ZIP 条目及其中的原生 ELF 库、PE 格式 DLL 和资源,报告识别出的编译器、加壳工具、保护工具、混淆工具以及反虚拟机或反反汇编手法,可按文件输出或输出 JSON。可选的追踪器规则注明来自 Exodus API,用于标出内嵌的追踪 SDK;APKiD 只做识别,不会脱壳或反混淆。

用 Java 编写的工具集,可将 Android DEX 字节码(包括 APK 内的 DEX 文件)转换为打包成 jar 的 JVM .class 文件,供 Java 反编译器和字节码工具使用。它还通过类似 ASM 的 API 读写 DEX,以自有实现进行 smali 反汇编与汇编,可将 jar 转回 DEX,并附带 d2j-decrypt-string 等辅助工具。

一个 Bash 脚本,围绕 apktool 自动完成 Android 应用分析中的重复性工作:从设备或模拟器拉取已安装的应用包、解码资源并反汇编 dex 代码,以及将解码后的目录重新构建为 APK。拉取 app bundle 的拆分 APK 时会将其合并为单个 APK,脚本还可以准备一份用于 Frida 插桩的副本。

采用客户端/服务器架构的 Android 自动化与动态分析平台,用于分析者有权测试的设备。设备端服务通过单一服务对外提供 UI 自动化、基于浏览器的远程桌面、HTTPS 流量抓取(MITM)和内置的 Frida 插桩,由包含 160 多个 API 的 Python 客户端库驱动。README 称其支持 Android 6.0+,可在有无 root 的情况下运行,将 Frida RPC 映射为 Python 与 JSON-RPC 调用,并内置 MCP 服务器和自然语言 agent 命令。

基于 Frida 的终端工具,作者称其为“Binder 版 Wireshark”,用于拦截 Android 进程发出的 Binder IPC 事务,并解析每条消息及其回复。随附针对特定 Android 版本的结构文件,可把事务编号映射回 AIDL 接口和方法名,并把 parcel 参数解码为带类型的字段,与十六进制视图并列显示。频率面板和 JSON 过滤配置可按接口、方法或类型筛选消息流,从而看出应用调用了哪些系统服务、传递了什么数据。

应用 · 协议完整条目

基于规则分析可疑 Android 应用的引擎:载入 APK 的 Dalvik 字节码,用 JSON 行为规则逐条检查;每条规则列出若干权限和一对框架 API 调用,并按五个置信阶段判定,从申请了该权限、调用了其中一个 API,到两个调用在同一方法中按顺序出现并传递同一寄存器。加权后的规则命中结果给出威胁分数,并可输出摘要、详情、JSON、网页、调用图和标签报告;Quark Script 把这套分析以 Python API 形式提供,项目将其用于挖掘漏洞。仓库还附带两个 Claude Code 技能(分别用于运行分析和生成规则),以及一个可选的、调用 OpenAI API 的 LangChain 智能体。

结合静态分析与基于 Frida 的动态插桩的 Android 逆向分析平台;master 分支是重写后的 Reversense(Dexcalibur 2.0),以 Node.js Web 服务形式运行,支持多人协作项目。README 介绍了如何把应用的文件、Smali 和原生代码建模为统一的可搜索表示(集成 Radare2),为 Java 方法、Objective-C 和原生函数生成钩子,并依据在已连接设备上采集的跟踪构建动态交叉引用。仓库中的 Inspector 插件分别观察权限、加密、文件系统、网络和界面等方面的活动。

C 语言命令行工具,用于从 ART 的 dex2oat 编译器自 Android 8.0(API 26)起在 Oat 文件旁生成的 Vdex 容器中提取 Dex 字节码,并默认撤销 ART 的 dex-to-dex quickening 优化,使输出重新成为普通 Dex。它还能转储 Vdex 文件中保存的验证依赖记录,以类似 dexdump 的格式反汇编字节码,并报告某个 Vdex 版本对应的 Android API 级别。Android 9 和 10 的 Vdex 文件存放的是 CompactDex,随附的 deodex 辅助脚本会借助单独构建的 compact_dex_converter 将其转换回标准 Dex。

用 C 语言编写的 Java 与 Android 反编译器,可多线程地从 class、JAR、WAR、DEX 和 APK 文件还原 Java 源码;还能输出类似 javap 或 dexdump 的类信息,将 APK 和 DEX 转换为 smali,用正则表达式搜索其中的字符串,并为 DEX 和 APK 生成调用图。运行 garlic -m 会启动基于 stdio 的 MCP 服务器,提供七个工具,可反编译文件、输出类信息、构建调用图、将调用图导入 DuckDB 以便用 SQL 查询,以及读取提取出的 AndroidManifest.xml。README 称反编译一个超过 200 MB、约 19 万个类的 APK 只需 12 秒。

基于 Capstone 的 Android 设备端反汇编器与二进制查看器,可打开从存储中选取或从已安装应用中选择的 ELF 共享库与可执行文件、目标文件、Windows PE 文件、.NET 程序集、dex 文件和 APK。它可显示 ELF 详细信息和符号表、PE 导入与导出表,提供支持跳转跟随及按符号或地址定位的反汇编视图、十六进制视图、ASCII 字符串搜索,以及熵和卡方检验等字节统计,帮助判断数据是否经过加密。分析结果以项目形式保存,并可导出为原始文件、文本、JSON 或数据库文件。

应用 · 二进制完整条目

由 Detect-It-Easy 作者 hors 开发的 APK 与 DEX 检测工具,借助 Detect-It-Easy 系列的扫描引擎和签名库,报告在 Android 软件包中识别出的构建工具、库和保护措施。其 Qt 图形界面还可查看 AndroidManifest.xml、MANIFEST.MF、DEX 和 ELF 内容,以及字符串、十六进制、熵、哈希和 APK 签名,并能扫描整个目录。命令行版本支持递归、深度、启发式或全类型扫描,并以 XML、JSON、CSV 或 TSV 格式输出结果。

面向 JSXBIN 的 C++ 反编译器。JSXBIN 是 Adobe 旧版 ExtendScript 的二进制格式,ExtendScript 则是用于为 Photoshop、InDesign、After Effects 等应用编写脚本的 ECMAScript 3 方言。它读取 JSXBIN 1.0、2.0 或 2.1 字面量,解析为语法树,再输出 JavaScript 源码,并在文件头注明格式版本。实验性的 --unblind 选项可为经 JsxBlind 混淆的符号重新命名;同一反编译器还以共享库形式提供,并附基于 ctypes 的 Python 绑定。

evilpan 开发的 Android JNI 代码静态逆向辅助工具。其 extract_jni.py 脚本用 Androguard 解析 APK 中的 DEX 文件,找出声明为 native 的方法,推导出每个方法(包括重载方法)对应的 Java_ 修饰符号名和 C 函数原型,并连同 APK 中 arm64-v8a 原生库导出的 Java_ 函数和 JNI_OnLoad 一起保存为 JSON 签名文件。面向 Ghidra、IDA Pro 和 Binary Ninja 的脚本读取该文件,把函数原型和 JNI 类型应用到相应函数上;radare2 脚本仍在开发中。

应用 · 二进制完整条目

面向 HarmonyOS NEXT 安装包(.hap、.app 和 .abc)的桌面逆向与 AI 辅助分析工作台,其二进制发行版还加入了 Android .apk/.aab、iOS .ipa 以及独立 PE、ELF 和 Mach-O 文件的分析。README 介绍的功能包括浏览包结构、资源、签名和元数据,反汇编和反编译 ABC 字节码并查看字符串与交叉引用,Android 类 Java 反编译,原生文件的头部、导入表和安全缓解措施视图,以及通过 HDC/ADB 安装应用、读取日志和投屏的设备工作流。内置的 ReArk Agent 借助 OpenAI 兼容接口或本地 Ollama 模型回答关于当前包的问题,按需检索包内证据,主机和设备操作需经审批流程。

应用 · 二进制完整条目

参照 AOSP androidfw 中 ResourceTypes.h 的结构开发、旨在取代 aapt/aapt2 的 Java 库,可读取、写入、修改和创建 Android 资源表(resources.arsc)以及 AndroidManifest.xml 等二进制 XML 文件。它能将资源解码为可读的 JSON(也适用于名称已混淆的资源),或在名称完好时解码为 XML 源码,并把这两种形式重新构建为二进制资源;APK 模块类可解码、合并并写出整个安装包。库中另有实验性的 DEX 读写组件,命令行工具 APKEditor 即基于该库开发。

Pithus Android 应用分析服务背后的可自托管 Django 平台,README 称其面向活动人士、记者、非政府组织和研究人员。上传的 APK 以 SHA-256 为名保存,并排队执行多项静态分析:用 Androguard 提取属性与类,用 APKiD 识别编译器与加壳工具,用 ssdeep 和 Dexofuzzy 计算相似度,用 Quark-Engine 规则识别行为,用 androcfg 生成调用图,匹配 Exodus 跟踪器特征,生成 MobSF 静态报告,读取 APK 签名块元数据,并运行分析者编写的 YARA 规则,还可对已存样本进行回溯检索。结果写入 Elasticsearch,以网页报告和 REST API 呈现,并可选用 MalwareBazaar、VirusTotal、MISP 和 Google Play 查询补充信息。

NCC Group 基于 Python 和 Flask 开发的网页界面,用于借助 Frida 对 Android 应用进行运行时分析,旨在简化 Frida 脚本的编写。分析者可在本地浏览器页面中枚举已加载的类、DEX 文件中的类、类加载器及某个类的方法,再为多个函数生成并保存跟踪脚本,其中包括动态加载的 DEX 或 JAR 文件中的函数。可配置的监控功能会记录文件、HTTP、WebView、SQL、IPC 和 SharedPreferences 相关调用。

使用 Kotlin 编写的 OpenHarmony 逆向工具包,可解析方舟字节码(.abc)文件,即 HarmonyOS 应用包中 modules.abc 的格式,也能解析 HAP 包和资源索引(.index)文件。其基于 Compose 的桌面查看器可浏览类、方法、字段、字面量数组及导入导出信息,并反汇编方法,以可读形式显示导入模块和资源引用;实验性功能可把部分方法直译为 JavaScript,命令行则可导出类列表和资源索引。解析核心也作为 JVM 库发布,另一个项目 abc-decompiler 即基于它的补丁分支。

在浏览器中运行的 JavaScript 反混淆与解包工具,以 Jekyll 网站形式构建,也可作为渐进式 Web 应用离线使用。它可自动识别或由使用者选择编码方式,还原 Dean Edwards 的 Packer、基于 eval 和数组的混淆器、部分 Obfuscator.IO 输出、JSFuck、JJencode、AAencode、URL 编码、My Obfuscate 和 WiseLoop,再对结果进行美化和语法高亮,并提供反转义字符串、合并字符串、恢复对象路径和计算常量表达式等选项。另有可选的用户脚本把代码发送到 JS Nice 服务,为难以阅读的标识符重新命名。

以 C++ 实现的 DEX 解析库,提供 Kotlin 与 Java API,可加载 APK、DEX 字节数据或应用的类加载器,并按特征而非混淆后的名称查找类、方法和字段。匹配条件可组合包名范围、修饰符与原始访问标志、字段类型、参数类型和返回类型、注解、方法使用的字符串与数值常量以及其调用的方法;批量查询可依据字符串一次定位多个目标,查询结果还提供操作码、调用者、被调用方法和所用字段。其文档以让 Xposed Hook 点在混淆后的不同应用版本间保持可用为主要场景,同样的查询也可用来快速、可编程地检索应用字节码。

从 Bun 编译的独立可执行文件中恢复可读 JavaScript 的 Node.js 流程。它提取内嵌的模块图和资源,把打包代码拆成每个模块一个文件,用指纹库标记 npm 第三方代码,再借助 wakaru、依据导出映射恢复名称的保格式重命名以及可选的 Gemini 命名建议进行反混淆。之后通过依赖图聚类、手工或借助 LLM 的聚类命名,以及跨版本迁移已有成果,来整理和更新输出。

应用 · 二进制完整条目

基于模式匹配的 Dalvik 反混淆工具,可处理 APK、DEX 文件或 Smali 目录:先用 baksmali 反汇编,再由各插件在 Smali 代码中查找混淆模式。为得知匹配到的调用会返回什么(例如解密后的字符串),它把一个小型驱动程序合并进应用的 DEX,推送到已连接的 Android 设备或模拟器,并通过反射在设备上调用对应的静态方法;返回值以常量替换原调用,之后再重新组装 APK 或 DEX。插件涵盖简单字符串加密、按索引查找字符串和类、部分 DexGuard 模式以及部分反射调用;作者称它启发了另一个反混淆工具 Simplify。

面向 HarmonyOS NEXT(纯血鸿蒙)应用的反编译器,发布于 jd-opensource GitHub 组织下,可将 Panda 二进制文件(.abc 方舟字节码)还原为 ArkTS 源码。其 xabc 程序解析字节码,将其提升为方舟编译器的 Panda IR 以便分析,再通过循环、类、词法环境和模块变量的重建生成 ArkTS 语法树,最后输出为 ArkTS 代码。跨平台图形界面可基于 Electron 或 Tauri 构建,提供文件浏览、函数与符号列表、交叉引用、搜索和十六进制视图;README 链接了 2025 年和 2026 年的 Black Hat Arsenal 展示。

Terry Chia(Ayrx)编写的 Ghidra 扩展,包含用于分析 Android NDK 应用原生库的脚本。JNIAnalyzer.java 使用随附的 JADX 反编译器从 APK 中提取所有原生方法的签名,并把返回类型、参数名和参数类型应用到已加载 .so 中的匹配函数。RegisterNatives.java 借助 Ghidra 的 P-Code API 查找 RegisterNatives 调用,为动态注册的方法铺设 JNINativeMethod 结构;TraceRegisterNatives.java 则应用作者 trace_registernatives 工具的输出。随附的 JNI 数据类型归档用于设置 jni.h 类型。

应用 · 二进制完整条目

一款仅以发布版 APK 形式提供的 Android 应用,把 APK 逆向工作流全部放在手机上完成,涵盖安装包提取、Java 反编译、原生代码分析、编辑和重新打包。它可从存储或已安装应用中提取 APK、XAPK 和拆分的 APKS 安装包,逐个类在 Jadx(含回退与 IR 模式)、CFR、Procyon、JD-Core、Krakatau 和 Vineflower 之间选择引擎反编译,通过内嵌的 radare2 分析原生库并提供伪 C、汇编、十六进制、控制流图和调用图视图;自 v20 起还能编辑资源、二进制 XML、清单和 smali,再重新打包并签名 APK。内置的 MCP 服务器允许 MCP 客户端编辑这些项目文件,重新构建仍需用户手动触发;README 还列出借助 Unflutter 分析 Flutter 的 Dart AOT 代码以及解析 Unity il2cpp 元数据。

用 PHP 编写的 SpiderMonkey 34 JavaScript 字节码解码与反编译工具,README 称它可能可以处理 cocos2d-x 编译生成的 .jsc 文件。它解析以 XDR 序列化的脚本及其中的原子(atom)、常量、对象、正则表达式和 try/作用域注记,依据 SpiderMonkey 34 的操作码表解码指令,并为每个函数上下文重建近似的 JavaScript 代码;另一个脚本则改为输出解码后的操作序列。作者称该项目尚未完成,可作为理解 JavaScript 虚拟机工作方式的示例。

应用 · 游戏完整条目

Lasha Khasaia 开发的交互式命令行工具,用于对 Android APK 做初步逆向分析,以 C/C++ 编写以求速度。它解包 APK,解析 AndroidManifest.xml、签名证书和压缩包根目录下的 DEX 文件,随后打开一个支持 Tab 补全的交互环境,可列出权限、Activity、Service、Receiver 和可能的入口点,列出并搜索类、方法和字符串,反汇编某个方法的 Dalvik 字节码,以及列出、计算哈希或提取原生库。其他命令可报告应用是否可调试、依据证书得出的创建日期、URL 和电子邮件字符串,并推测应用使用 Java、Kotlin 还是 Xamarin .NET 编写。

一款仍在开发中的 Android 应用,用于在设备上编辑 DEX 文件,构建在仓库内经修改的 Google smali、baksmali 和 dexlib2 副本之上。它把一个或多个 DEX 文件载入类树,在基于 Sora Editor 的编辑器中以 smali 打开类,提供方法、字段和字符串列表、标签跳转、搜索替换、方法流程图,以及借助 Jadx 把单个类或方法反编译为 Java,之后可删除类或重新编译修改后的 DEX 文件。README 称应用的逻辑与界面构思来自 MT Manager。

面向 Android Dalvik 虚拟机 dex 格式的汇编器与反汇编器:baksmali 将 dex、APK、odex 和 oat 文件反汇编为 smali 文本,smali 再把这些文本汇编回 dex 文件。README 称其语法大致参照 Jasmin 和 dedexer,支持 dex 格式的全部功能,包括注解、调试信息和行号信息。baksmali 还能对 odex 和 oat 文件做去优化(deodex),并列出 dex 文件中的类、方法、字段、字符串和引用;dexlib2 库则供 Java 程序读写 dex 文件。

基于 Kotlin Compose Multiplatform 的桌面端 Android 逆向与修改工作台。它可打开 APK 和 DEX 文件,无需手动解包即可将 APK 内的 DEX 类作为 smali 编辑,提供语法高亮和代码补全,并可显示由 JADX、CFR 或 Vineflower 反编译出的 Java 代码。它还能通过 apktool 浏览资源和 XML 文件,在类树、字符串常量以及方法和字段引用中搜索,用 apksig 和 zipalign 为修改后的 APK 重新签名,并通过 ADB 将其安装到已连接的设备上运行。

一个 Python 命令行工具,用于还原被 Paranoid 和 LSParanoid 这两款 Android 字符串混淆插件隐藏的字符串,使 smali 代码便于静态分析。它在 smali 目录中查找混淆器的字符串查询方法和编码后的分块数组,用移植自这两个库 DeobfuscatorHelper 和 RandomHelper 类的 Python 实现解码分块,并就地把每处查询调用改写为带标记注释的 const-string 指令。辅助命令可列出还原的字符串、把分块保存到文件,以及根据已保存的分块解码单个字符串。

用 Python 编写的 Dalvik 字节码模拟器,README 将其比作面向 Dalvik 的 Unicorn:它解析 DEX 文件并逐条指令执行方法,用 Python 模拟实现替代 String、StringBuilder、Base64、ArrayList、AES Cipher 及部分反射等常见 Java 与 Android API。它可针对 Android 入口点、名称匹配的方法或带指定参数的单个方法运行,记录代码构造或解密出的字符串,并可输出为 JSON,有助于还原应用和恶意软件中被混淆的字符串。

用 Python 编写的解析器,处理 Android Flutter 应用中存放编译后 Dart 代码的 libapp.so 里的 Dart AOT 快照。它借助 pyelftools 定位 VM 与 isolate 快照符号,反序列化快照中的各个簇(cluster),并把 isolate 快照中的全部类导出为文本,列出字段、方法签名以及每个方法在 libapp.so 中的绝对代码偏移。它恢复的是声明和偏移,供进一步反汇编使用,并不反编译函数体。

应用 · 二进制完整条目

面向 Android 应用测试的 Frida 本地浏览器界面:FastAPI 服务会列出通过 USB、本机或远程 frida-server 连接的设备,以及其中已安装的应用和正在运行的进程,分析者可在浏览器中附加到进程、启动应用、在启动时注入脚本,或断开、结束进程。脚本可在 Monaco 编辑器中编写,也可从本地文件或 Frida CodeShare 载入,CodeShare 脚本可排队在启动时运行;每个会话的控制台输出都会保留,并可导出为文本。

用于解析二进制 Dart VM 快照(例如 Flutter 发布版应用中的 libapp.so)的 Python 模块,可把快照内容还原为带反向引用、便于浏览的 VM 对象图,连同快照中转储的内存结构一并解析。它支持旧式、AppJIT 和 AppAOT 三类快照,通常能从快照本身自动识别编译标志和设置,可从 app.so 或 .snapshot 文件中自动提取快照数据块;其 darter.asm 模块借助 Capstone 反汇编 ARM 和 ARM64 代码,查找其中对 VM 对象的引用。README 列举的用法包括提取应用的字符串表、查找某个对象在何处被使用、生成调用图和库依赖图、为 Radare2 导出元数据,以及与参考快照比对来对快照去混淆。

应用 · 二进制完整条目

字节跳动开发的 Android APK 静态污点分析引擎,面向超大型应用设计:它依据 JSON 规则扫描应用,规则以 Jimple 签名指定入口方法、源、汇和净化器,用于漏洞与隐私合规审查。它基于 Soot 的 Jimple 中间表示,并复用 FlowDroid 的清单与资源解析模块,但指针分析和污点分析均为自行实现,且区分字段。结果写入 results.json,其中记录应用、组件和权限信息、深层链接及 JavaScript 桥接接口,以及每条从源到汇的路径,每项发现另有一个 HTML 页面。

基于 Frida 的工具,用于查看正在运行的 Android 应用的实时 Java 堆,可作为 objection 插件加载,也可通过其小型 Python 包调用。classsearch 与 objectsearch 按模式查找已加载的类,或查找某个类的存活实例并返回对象句柄;classdump 打印类声明的字段、静态字段值和方法,objectdump 打印实例的字段值,可将其按父类查看,并列出集合或映射中的全部条目。分析者借此查看静态反编译无法确定的运行时数据和具体实现。

用于解析 Android 二进制 XML(例如 APK 中编译后的 AndroidManifest.xml)并输出为可读 XML 的 Java 库和命令行工具。它是 Red Naga 对 Android4ME AXMLPrinter 几乎全部重写的版本,能够处理实际样本中被篡改的文件,包括字符串表乱序和起始标签被改写等情况,并可重新写出传统 AXML 格式。自 v2.0.0 起,它还能读取 Android App Bundle 使用的 protobuf 格式 XML,并自动识别输入格式。

面向 Android 应用和 Java 程序的静态数据流(污点)分析工具,基于 Soot 构建,可作为命令行工具使用,也可作为 Maven 库集成。输入 APK、Android SDK 的 platforms 目录以及源点和汇点定义后,它会对组件生命周期和回调建模以构建调用图,并报告从敏感源点流向汇点的数据流;随附的 SourcesAndSinks.txt 可作为分析隐私泄露的起点,StubDroid 摘要则用于对库方法建模。选项涵盖依据用户提供的 ICC 模型文件分析组件间数据流、路径重建、隐式流、反射,以及用精度和召回率换取速度的超时设置;其分析方法发表于 PLDI 2014 论文《FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps》。

用纯 Python 3 编写的转换工具,把 Dalvik 字节码转换为等价的 Java 字节码,使 Java 分析工具和反编译器可以用于 Android 应用:输入 APK(多 dex APK 中的所有 DEX 文件会合并到同一个 jar)或单个 DEX 文件,即可输出由 class 文件组成的 jar。README 将其与 dex2jar 对比,并列出它能处理的边缘情况,例如 Unicode 类名、被当作多种类型使用的常量、隐式类型转换、跳入正常控制流的异常处理器、超长方法,以及引用常量过多的类。默认还会进行复制传播、删除未使用值等提高可读性的优化。

Magisk、KernelSU 与 APatch 模块,在已 root 的 Android 设备上安装 frida-server 并在开机时启动,Frida 客户端无需手动启动服务即可连接进行动态插桩。GitHub Actions 每天检查 Frida 是否有新版本,下载 Frida 官方为 arm64、arm、x86 和 x86_64 构建的 frida-server,并发布对应的模块 ZIP 及供 root 管理器更新使用的 updater.json。服务默认监听 127.0.0.1:27042,可在模块目录的文件中写入其他端口;模块的操作按钮可启动或停止服务。

开源的 .NET 反混淆与脱壳工具,尝试把加壳、混淆过的程序集恢复到接近原始的状态。视混淆器而定,它能以静态或动态方式解密字符串、常量、方法、资源和内嵌程序集,移除代理方法、垃圾类以及防篡改和反调试代码,还原被虚拟化的代码和被打乱的控制流,并把符号重命名为可读名称;也可以只检测程序集使用了哪种混淆器。README 列出 19 种受支持的混淆器和加壳工具,包括 Dotfuscator、.NET Reactor、Eazfuscator.NET 和 SmartAssembly。

PNF Software 推出的商业逆向工程平台,面向 Android 应用和原生代码,集 Dalvik 反编译器、Android 调试器以及 x86、ARM、MIPS、RISC-V 机器码的反汇编器与反编译器于一体。处理 APK 时,它能将多 dex 的 Dalvik 字节码反编译为 Java,重建资源和经过混淆的 XML,用可自动解密内容、消除反射调用的优化器清理混淆代码,并在同一会话中调试 Dalvik 与原生 ARM 或 Intel 代码,可从 Dalvik 单步进入 JNI 方法。JEB Pro 的模块还能反编译 WebAssembly、以太坊 EVM 合约(输出类 Solidity 代码)、西门子 S7-300/400 PLC 程序块和 Nvidia SASS GPU 代码,并分析 PDF 文档;其加载器可读取 PE、ELF、Mach-O、Intel HEX 以及无容器格式(headless)的固件镜像。借助 JEB API,可用 Java 和 Python 编写脚本、后端插件和自定义无界面客户端来自动化分析;JEB 还提供面向 AI 智能体的 MCP 服务器。

应用 · 二进制 · 固件完整条目

原生二进制

269 项资源

全部分类

472 项带“二进制”标签 · 查看全部 472 项 →

案例

7 个案例

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

二进制完整条目

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

二进制完整条目

工具、项目与集成

262 项资源

开源反编译流水线:借助 QEMU 将 x86-64、AArch64、i386、ARM 和 MIPS 代码提升为与架构无关的表示,以 LLVM 进行分析,并输出以合法、可重新编译为设计目标的 C 代码。数据布局分析可根据指针用法推断数据结构;可编辑的 YAML 模型及 Python、TypeScript 封装便于自动化。基于 VSCode 的界面是单独的产品,目前处于封闭测试阶段,并计划推出商业方案。

二进制完整条目

源自 radare2 分支的命令行逆向工程框架。rizin 交互环境可分析和反汇编二进制、调试程序,并可用作可脚本化的十六进制编辑器;rz-* 系列工具提供二进制格式信息、汇编、差异比较、哈希、模式搜索和 FLIRT 签名等功能。README 列出数十种架构、字节码格式和文件格式,从 ELF、PE、Mach-O 到 dyld 缓存和 BIOS/UEFI 镜像;可通过 rzpipe 用 Python、Rust、Go 等语言编写脚本。Cutter 是基于它的独立图形界面。

二进制 · 游戏完整条目

位于 dogbolt.org 的网络服务:将上传的单个小型可执行文件交给多款反编译器处理,并排显示它们输出的类 C 代码,自称“反向的 Compiler Explorer”。所固定版本的源码包含 angr、Binary Ninja、Boomerang、dewolf、Ghidra、Hex-Rays、Kuna、REC Studio、Reko、Relyze、RetDec、rev.ng 和 Snowman 的运行器,便于比较不同反编译器如何呈现同一段代码。

二进制完整条目

可加载到 GDB 中、或作为 LLDB 外层 REPL 运行的 Python 插件,使运行中程序的状态更易检查。每次停下时都会打印寄存器、栈、调用帧和带注释的反汇编等上下文,并递归解引用指针;命令涵盖内存映射、搜索、内存链式查看、堆分配器和 Go 值,还借助 Capstone/Unicorn 模拟执行指令,并可与 IDA、Binary Ninja、Ghidra 和 angr-management 反编译器集成。README 列出 Linux ELF、macOS Mach-O、QEMU 用户态/系统态以及嵌入式 Cortex-M 或 RISC-V/32 调试场景。

二进制完整条目

运行时代码操作系统,用于构建在未修改程序运行期间观察或变换其任意部分的动态工具。其 API 与 IA-32/AMD64/ARM/AArch64 指令操作库允许任意修改应用指令,而不仅限于插入回调。发布包附带 drcov 代码覆盖率、drltrace 库调用跟踪、drstrace Windows 系统调用跟踪、drmemtrace 指令与内存访问跟踪以及 drdisas 反汇编器等工具。它是用于构建插桩工具的框架,与 Frida 对运行中进程编写脚本的方式不同。

二进制完整条目

用 C++ 编写的 Python 字节码反汇编器与反编译器,目标是支持任意 Python 版本的字节码。pycdas 输出 .pyc 文件的反汇编结果,pycdc 则把重建出的 Python 源码输出到标准输出,错误信息输出到标准错误;在命令行中指定 Python 版本后,两者也能处理原始的 marshal 代码对象。源码中包含 Python 1.0 至 3.13 的操作码表。

应用 · 二进制完整条目

Fraunhofer FKIE 开发的静态分析工具,在二进制可执行文件(主要是 Linux 和 Unix 的 ELF 文件)中查找符合通用缺陷枚举(CWE)漏洞类别的代码路径,例如缓冲区溢出、释放后使用与重复释放、空指针解引用、格式化字符串和整数溢出。它先由 Ghidra 把二进制反汇编为统一的中间表示,再在其上运行从简单启发式到基于抽象解释的数据流分析等各类检查,因此适用于 Ghidra 支持的 CPU 架构,包括 x86、ARM、MIPS 和 PowerPC。告警以文本或 JSON 输出,随附的 Ghidra 脚本可把告警标注在反汇编中,便于人工复核。

二进制 · 固件完整条目

Mandiant FLARE 团队的安装脚本,用于搭建并维护一台面向逆向工程和恶意软件分析的 Windows 虚拟机。其 PowerShell 脚本借助 Boxstarter 和 Chocolatey,从独立的 VM-Packages 软件源和 Chocolatey 社区源安装软件包;软件包可在图形界面中选择,也可通过自定义 config.xml 指定,该文件还可设置环境变量路径、任务栏布局以及安装后的注册表、服务和路径设置。所审阅的默认配置列出 137 个软件包,包括 Ghidra、IDA Free、x64dbg、dnSpyEx、capa、FLOSS、PE-sieve、FakeNet-NG 和 Wireshark;virtualbox 目录中的脚本可在 VirtualBox 中构建 FLARE-VM 和 REMnux 虚拟机,并管理和导出其快照。

二进制完整条目

KAIST SoftSec 实验室开发的二进制分析框架,以 F# 编写、运行于 .NET。它可解析 ELF、PE、Mach-O 和 WebAssembly 文件,对指令进行解析、反汇编并提升为自有中间表示,还能恢复控制流图和汇编代码;README 的功能表涵盖 x86/x86-64、ARMv7/AArch64、MIPS、PowerPC、RISC-V、SPARC、S390 等指令集,以及 CIL、EVM、eBPF、WebAssembly 和 Python 字节码。其 b2r2 启动器可调用类似 readelf 的格式扫描器、线性扫描反汇编器、带 Web 图形界面的递归下降式探索工具、面向 IR 与汇编的 REPL 以及汇编器。

二进制完整条目

Rizin 插件,内嵌 Ghidra 的 C++ 反编译器和 Sleigh 反汇编器,因此无需安装 Java 版 Ghidra。其 pdg 系列命令可反编译当前函数,也可与偏移量并排显示或以 XML、JSON 格式输出,还能把结果作为注释写回 Rizin,并列出已加载的 Sleigh 语言;配置变量可调整输出格式,也可覆盖自动检测到的 Sleigh 语言。反编译器使用 Rizin 已加载的二进制、类型和注释;另有可选插件将其接入 Cutter 图形界面。

二进制完整条目

由 Fraunhofer FKIE 与新加坡 DSO 国家实验室在 2019 至 2021 年合作研发的研究型反编译器,以 Binary Ninja 插件形式运行,并以 Binary Ninja 的中级中间语言(Medium Level IL)为起点。它通过预处理、SSA、数据流和控制流等阶段组成的流水线,按照 DREAM/DREAM++ 方法重建控制结构,输出类 C 代码。结果可在 Binary Ninja 的停靠窗口中查看,也可在批量场景下用 decompile.py 对整个二进制或指定函数进行反编译,并输出到终端或文件。

二进制完整条目

连通反编译器与调试器的桥接工具:通过 XML-RPC 连接,把 IDA Pro、Binary Ninja、Ghidra 或 angr-management 中的函数名、全局变量、栈变量与寄存器变量名以及反编译代码提供给 GDB。同步过来的函数和全局变量成为普通的 GDB 符号,可直接下断点和查看内存;局部变量以便利变量的形式出现,每次在断点处停下时还会打印当前地址对应的反编译代码行。它支持原生 GDB、GEF 和 pwndbg;提供共享库的加载地址范围后,也能为该库映射符号。

二进制完整条目

面向 x86-64 Linux ELF 可执行文件和共享库的静态二进制重写工具,无需恢复控制流即可插入插桩代码,并生成可直接替换原文件的二进制,方法源自 PLDI 2020 论文《无需控制流恢复的二进制重写》。前端 e9tool 用一套基于反汇编属性的匹配语言选择指令,再通过内置跳板、调用以 e9compile.sh 编译的 C/C++ 函数或手写的插件跳板进行修补;后端 e9patch 接收 JSON-RPC 命令,便于其他工具调用。可选模式包括借助启发式控制流恢复获得更快的重写结果,或借助 SIGILL 回退实现完全的修补覆盖。

二进制完整条目

Trail of Bits 对 No More Gotos 论文中模式无关结构化算法的实现,可把 LLVM bitcode 转换为不含 goto 的 C 代码,定位为小巧、易于修改且能与 LLVM 和 Remill 互操作的反编译器后端。rellic-decomp 批量将 bitcode 模块转换为 C;rellic-xref 提供 Web 界面,可选择要应用的细化遍,并将 C AST 节点与生成它的 bitcode 相互对应;rellic-headergen 根据模块中的 DWARF 元数据生成描述数据结构布局的 C 代码。机器码须先由其他工具提升为 bitcode;仓库附带的 IDA 脚本借助 Anvill 完成这一步。

二进制完整条目

Ghidra 扩展,可把程序中选定的部分“反链接”回可重定位目标文件。其重定位表合成分析器根据 Ghidra 数据库重建链接器通常会丢弃的重定位信息,导出器则写出带符号表和重定位表、可由工具链重新链接的 COFF(x86、x86-64)、ELF(x86、x86-64、MIPS)或 OMF(x86)目标文件。README 列出的用途包括借助链接器打二进制补丁、软件移植、格式转换、提取库,以及逐个目标文件重新实现程序的反编译项目。

二进制 · 游戏完整条目

BinDiff 的导出组件:为 IDA Pro 和 Binary Ninja 提供插件、为 Ghidra 提供扩展,把已分析的反汇编结果写成 BinDiff 所需的 Protocol Buffer 格式。BinExport2 模式涵盖带操作数和表达式的指令、基本块、流程图、调用图、节区、字符串、注释和数据引用;导出器还可输出统计文本文件或用于调试的文本转储。在 IDA 中可通过 IDC 或 IDAPython 脚本导出,在 Ghidra 中可使用同样能在无界面分析器中运行的 BinExport.java 脚本。

二进制完整条目

Check Point Research 开发的源码辅助 IDA Python 插件,用于在大型二进制和固件中查找并匹配编译进去的开源库。识别脚本会列出二进制中存在哪些受支持的库(如 OpenSSL、zlib、libpng 和 net-snmp),并识别其版本;匹配脚本再借助由该库版本生成的 JSON 配置,按原始函数顺序定位各个编译单元,匹配其中的函数及其调用的外部 libc 函数,并可把选定的匹配结果作为名称导入 IDA。附带的 Thumbs Up 脚本可预先改进 IDA 的函数分析,包括区分固件中的 ARM 与 Thumb 代码。

二进制 · 固件完整条目

VTIL(Virtual-machine Translation Intermediate Language,虚拟机翻译中间语言)项目的 C++20 核心库。VTIL 是一种中间语言及优化编译器,README 称其专为二进制去混淆与去虚拟化分析而设计。与 LLVM IR 不同,VTIL 保留原生栈、物理寄存器和非 SSA 形式,因此寄存器机或栈机代码都能提升到其中,原生指令可直接嵌入 IL 流,代码也能重新输出到任意虚拟地址。该库提供包含例程、基本块和序列化的 IL、符号表达式引擎与化简器、死代码消除、传播和栈固定等优化遍,以及基于 Capstone/Keystone 的 AMD64 与 ARM64 反汇编和汇编辅助功能。

二进制完整条目

非官方的 Visual Studio Code 扩展,用于 Frida 相关工作。侧边栏列出本地、Apple 模拟器、USB 和远程设备上的应用与进程,可附加、启动或结束它们;运行时面板可浏览已附加进程的原生模块与导出函数,以及 Java 和 Objective-C 的类、方法与协议,并根据所选项目生成 Interceptor、Objective-C 或 Java 的 Hook 代码框架(可选用 GitHub Copilot 推断原生函数签名),还能导出 Objective-C 头文件或 Java 类存根。语言服务器根据运行中的目标补全类名、选择器和模块名;扩展还提供 Frida agent 与 C 模块项目脚手架、脚本调试配置、系统日志流以及 Android frida-server 部署。

命令行二进制差异分析引擎,通过 pyghidra 以无界面方式驱动 Ghidra:导入并分析新旧两个版本的二进制,列出新增、删除和修改的函数,主要用于补丁比对。默认的 VersionTrackingDiff 引擎组合了多个 Ghidra 版本跟踪关联器和 BSim 匹配,另有基于符号名和结构图的较简单引擎,并提供 GhidraDiffEngine 基类供编写自定义比对器。结果以 JSON 和带 Mermaid 图表的 Markdown 输出,附有字符串、被调用与调用函数及二进制元数据的元差异,也可另外生成并排对照的 HTML。

二进制 · 固件完整条目

GrammaTech 开发的 Datalog 反汇编器,可将 x86-32、x86-64、ARM32、ARM64 和 MIPS32 架构的 ELF 与 PE 二进制转换为 GTIRB 中间表示。它先解码所有可能指令的超集,再用 Soufflé Datalog 规则和加权启发式推断代码位置、符号化结果和函数边界;gtirb-pprinter 可将结果输出为可重新汇编的汇编代码或重建的二进制,期间还可借助 GTIRB API 或 gtirb-rewriting 修改程序。推断出错时,用户可通过提示文件添加 Datalog 事实或调整启发式权重。

二进制完整条目

面向 Linux 的 GNU 调试器(GDB)前端,以游戏为主要对象,也可用于其他逆向工程;名称意为“PINCE is not Cheat Engine”。它借助 libmemscan 扫描进程内存和指针,并将结果放入带类型的地址表;内存视图提供反汇编、即时汇编、对引用的调用、跳转和字符串进行代码剖析、函数/内存区域/指令搜索以及结构体叠加查看,其中结构体可由对原生 Linux 或 Wine/Proton 进程中 Mono/IL2CPP 类的剖析自动生成。调试功能包括可链式关联的断点与观察点、追踪访问某地址的指令、执行跟踪和调用栈查看,并提供 GDB 控制台和可复用的 libpince Python 库。

二进制 · 游戏完整条目

跨版本的 Python 反编译器,可把 Python 字节码还原为等价的 Python 源码,支持 Python 1.0 至 3.8 的字节码,以及部分 PyPy 字节码和 Dropbox 的 Python 2.5 字节码。它借助配套的 xdis 库反汇编代码对象,再把指令流解析成基于语法的树并据此输出源码;它还能只反解析给定字节码偏移附近的代码片段,作者的 trepan 调试器即用此功能精确报告位置。它是早期 decompyle、uncompyle 和 uncompyle2 等分支的后继项目。

应用 · 二进制完整条目

ret-sync 即“逆向工程工具同步”:一组插件,让 IDA、Ghidra 或 Binary Ninja 的图形与反编译视图跟随运行中的 WinDbg、GDB、LLDB、OllyDbg 1.10/2 或 x64dbg 调试会话,并实时重定基址,使 ASLR 不影响地址对应。调试器命令可将注释、标签、重定基后的地址和命令输出写入反汇编数据库,并从中解析符号;反汇编器中的快捷键则可设置断点、单步执行调试器。可同时同步多个数据库,两端也可运行在不同主机上。独立的 Python 库可为自定义跟踪工具提供同样的位置同步。

二进制完整条目

单文件 Python 脚本,用于提取由 PyInstaller 构建的可执行文件的内容,Linux ELF 构建也无需借助其他工具即可提取。它在可执行文件中定位 PyInstaller 归档,报告 PyInstaller 和 Python 版本以及可能的入口脚本,并导出打包在 CArchive 中的文件和 PYZ 归档中的模块。它还会修复导出的 .pyc 文件头,使 uncompyle6、Decompyle++(pycdc)等 Python 字节码反编译器能够识别。

应用 · 二进制完整条目

卡内基梅隆大学开发的 OCaml 二进制分析平台。其 bap 命令可加载程序、进行反汇编、将指令提升为与架构无关的中间表示、构建控制流图并运行分析遍;objdump、raw 加载器和 mc 模式分别用于线性反汇编、原始代码块和单条指令编码。README 列出对 x86、x86-64、ARM、MIPS 和 PowerPC 的支持,以及解释器、微执行解释器、符号执行器和 Primus Lisp 语言,后者可用于编写分析、为函数编写桩模型和调用 SMT 求解器;分析以 OCaml 插件形式编写,或将 BAP 作为库嵌入应用,C 绑定和最基本的 Python 支持位于独立仓库。

二进制完整条目

通用反编译器:加载可执行文件或原始镜像,把机器码扫描转换为与机器无关的寄存器传输语言,再归并为过程并反编译为高级 C 代码。所审阅的源码包含 64 个架构目录,从 6502、Z80、PDP-11 到 ARM、MIPS、PowerPC、RISC-V 和 x86,并提供 ELF、PE/MZ、Mach-O、COFF、Amiga Hunk、VMS、WebAssembly、Xbox XBE 及 Xbox 360 XEX 等格式的加载器。可作为 Windows Forms 图形界面、命令行客户端或 .NET 库使用,用户还可通过项目文件和脚本补充名称、类型和注释。

二进制 · 固件完整条目

源自 Paradyn 项目的二进制插桩、分析与修改库。DyninstAPI 可在运行中的程序里插入和修改插桩代码,也可改写磁盘上的可执行文件或库并写回修改后的副本;同一套与机器无关的接口还支持静态和动态分析。各组件有独立手册,分别负责符号表、行号与类型(SymtabAPI)、指令解码与反汇编(InstructionAPI)、解析为基本块、函数和循环(ParseAPI)、切片等数据流分析(DataFlowAPI),以及进程控制、栈回溯和代码修补。

二进制完整条目

以零拷贝、感知字节序的方式解析二进制格式的 Rust crate,支持 ELF32/64、32/64 位 Mach-O 及多架构 fat 容器、PE32/PE32+、COFF 目标文件、Terse Executable(TE)镜像以及 Unix/BSD 归档;Object::parse 根据魔数自动识别格式。解析结果涵盖 ELF 的文件头、节区、符号、动态段条目、重定位和 note,Mach-O 的加载命令及导入导出,以及 PE 的导入导出、重定位、TLS、资源、异常与展开信息、Authenticode 证书和 .NET CLR 头。借助特性开关,它还可精简为不依赖 std 的 #[repr(C)] 结构体定义,供内核等 no_std 代码使用。

二进制完整条目

Mandiant FLARE 团队的恶意软件字符串提取工具,用法与 strings.exe 相同,但还能还原混淆字符串。除了静态的 ASCII 和 UTF-16LE 字符串,它还能提取栈字符串、紧凑栈字符串(tight strings)以及由函数解码出的字符串:先用启发式方法识别解码函数,通过控制流分析取得调用参数,再模拟执行这些函数,并比较模拟前后的内存状态。它还能提取 Go 和 Rust 字符串,支持 PE、ELF 以及 32 位或 64 位原始 shellcode;JSON 结果可转换为 IDA Pro、Ghidra、Binary Ninja、radare2 和 x64dbg 的导入脚本。

二进制完整条目

轻量级 C11 x86/x86-64 反汇编与代码生成库。解码器可报告每条指令的操作数、所访问的 CPU 与 FPU 标志、ISA 集与扩展以及分支类型;格式化器可输出 Intel、MASM 或 AT&T 语法,编码器则根据编码请求生成指令,请求也可由已解码的指令转换而来。仓库附带 ZydisDisasm 与 ZydisInfo 命令行工具,官方 Rust 与 Python 3 绑定位于独立仓库。

二进制完整条目

Quarkslab 开发的模块化动态二进制插桩(DBI)框架:在目标进程内部按基本块对程序进行 JIT 重编译,使插桩工具可以在指令执行前后、内存读写以及虚拟机事件上注册回调。引擎以库的形式提供,可在进程中任意位置启动插桩执行,并可通过 C、C++、Python(PyQBDI)或 Frida JavaScript 编写脚本。它不绑定特定注入方式:自带基于 LD_PRELOAD 的 QBDIPreload,用于 Linux 和 macOS 动态可执行文件,并已与 Frida 集成。

应用 · 二进制完整条目

用于查看 ELF 二进制的终端用户界面。它可像 stat 和 ldd 那样显示文件信息和所链接的共享库,像 readelf 那样浏览 ELF 头、注释、节区、段、符号、动态符号和重定位,按可调的最小长度提取字符串,并提供可搜索的十六进制视图。可选的动态分析会运行该二进制,像 strace 那样跟踪其系统调用,并按系统调用汇总耗时和调用次数;该界面还能作为 Rust 库嵌入 Ratatui 应用。

二进制完整条目

面向 16、32 和 64 位 x86 代码的指令库,可解码、格式化、汇编和编码指令,输出支持 masm、nasm、GNU AT&T 和 Intel XED 语法。其指令信息 API 可报告指令读写的寄存器、内存操作数和 RFLAGS 标志位,以及所需的 CPUID 特性标志和控制流类型;编码器还能把已解码的指令重新编码到任意地址。同一仓库维护 Rust、C#(.NET)和 Java 三套实现,另有基于 Rust crate 的 Python、JavaScript(WebAssembly)和 Lua 绑定。

二进制完整条目

Kaspersky 发布的 IDA 插件,为 Hex-Rays 反编译器加入了作者在包括恶意软件分析在内的逆向工作中积累的各类工具。它可用内置密码算法解密字符串、数据和常量,或借助 IDA 的 Appcall 调试器功能批量解密;还能识别 API 名称哈希、消除控制流平坦化并强制反编译混淆代码,并通过微码签名、内联函数检测和从 IDA 数据库生成的 PAT 文件识别库代码。伪代码辅助功能包括自动重命名、类型修改和枚举替换、结构体创建、虚函数与间接调用导航以及补丁。

二进制完整条目

面向逆向工程人员的二进制代码静态分析工具包。它从选定的地址和初始状态出发,计算寄存器与内存的值、污点和重建出的类型,支持前向与后向分析,并能检测堆上的释放后使用和重复释放;无法确定的位会标为未知。分析可在 IDA 插件中进行,分析人员可覆盖值或污点、跳过函数或把指令替换为 NOP 后重新运行;也可通过 Python 和 .ini 配置文件实现自动化。

二进制完整条目

单文件 Python 扩展 gef.py,为 GDB 增加动态分析命令。每次程序停下时都会显示寄存器、栈、代码、线程和调用轨迹等上下文视图,命令涵盖内存映射、指针解引用、在进程内存中搜索模式、ELF 与安全属性信息、进程状态以及 glibc 堆检查。其架构抽象层覆盖 x86-32/64、ARMv5–v7、AArch64、SPARC、MIPS 和 PowerPC;gef-remote 命令可通过 gdbserver 或 qemu-user、qemu-system 的 GDB stub 增强远程调试会话。

二进制完整条目

面向 x86、x86-64、ARM32、AArch64 和 RISC-V 32/64 代码动态二进制分析的 C++ 库,提供 Python 绑定。调用方逐条处理指令,并可设置具体的寄存器和内存值;Triton 依据每条指令的语义构建符号表达式、进行污点跟踪,并通过 Z3 或 Bitwuzla 求解路径约束。它还能合成与化简表达式,并将其提升为 LLVM IR 或 Z3 表达式后再转换回来,可用于构建分析工具、自动化逆向工程、软件验证或模拟执行代码。

二进制完整条目

面向 Python 3.6 及以后版本 CPython 字节码的研究型反编译器,将按版本训练的 Transformer 模型与控制流重建相结合。分段模型把字节码切分为语句,语句模型将每段翻译为源码,再由模板重建循环、条件分支、异常处理、with 块和 match 语句。生成结果会用目标 Python 版本重新编译,并与原字节码比较控制流,未通过的片段会改用其他分段方案重试;其设计见 IEEE S&P 2025 论文《PyLingual: Toward Perfect Decompilation of Evolving High-Level Languages》。

应用 · 二进制完整条目

用于分析、修改和生成二进制程序的 Python 逆向工程框架。它可读取、修改和生成 32 位与 64 位 PE 和 ELF 文件,汇编和反汇编 x86、ARM、AArch64、MIPS、PowerPC、SH4、MSP430 与 MeP 代码,并将其提升到自有的中间语言,用于符号执行、SSA 与数据流分析、依赖图以及面向反混淆的表达式化简。其 JIT 模拟器可借助 LLVM、GCC、Clang 或纯 Python 后端运行 shellcode 或二进制中的部分代码,用 Python 回调代替库函数,提供模拟部分 Windows API 和 Linux 行为的沙箱,并可通过 Z3 进行动态符号执行。

二进制完整条目

借助虚拟化技术的 Windows 调试器:利用 Intel VT-x 和扩展页表(EPT)将正在运行的系统虚拟化,从而调试内核态和用户态代码;既可在本机作为跟踪与内省工具运行,也可从宿主机通过串行连接附加到客户虚拟机进行调试。其事件包括基于 EPT 的隐藏断点与钩子、不受硬件调试寄存器限制的内存读写和执行监控,对系统调用、CPUID、MSR、I/O 端口、MMIO、异常和中断的监控,以及 Intel PT 与 LBR 分支跟踪。内核侧脚本引擎、PDB 符号支持和 SDK 可用于自动化分析。

二进制完整条目

以智能体为核心、用 Rust 编写的反编译器,最初移植自 Ghidra 的 C++ 反编译器和 SLEIGH 编译器,此后加入了可按选项开关的功能(部分移植自 angr),已与上游分化。单个自包含的 kuna 程序可反编译单个函数,也可将整个二进制导出为 C、头文件和汇编文件;同一引擎还能通过 WebAssembly 在浏览器中运行,或在 Ghidra 中充当反编译后端。项目自称是让 LLM 智能体持续改进反编译器的实验,大部分代码由智能体编写,并以回归测试和基准结果为导向。

二进制完整条目

Vector 35 为 Binary Ninja 公开的 C++、Python 和 Rust API,附带文档、示例以及基于这些 API 的开源插件。Binary Ninja 本身是闭源商业软件,本仓库不包含其分析核心。开源插件涵盖 x86/x86_64、ARM64、ARMv7、PowerPC、MIPS、RISC-V 和 MSP430 架构,ELF、PE/COFF、Mach-O 以及 Apple 共享缓存和内核缓存加载器,DWARF、PDB 与 IDB 导入,以及 Objective-C、RTTI 和 SVD 分析;示例则演示如何遍历低级与中级中间语言,并通过工作流扩展分析流程。

二进制 · 固件完整条目

Mandiant FLARE 团队的工具,将 YAML 规则集与从 PE、ELF、.NET 文件或 32/64 位 shellcode 中提取的 API 调用、导入、字符串和常量等特征进行匹配,报告可执行文件具备哪些功能。匹配结果按功能命名空间归类并标注 ATT&CK 和 MBC,详细输出会列出每项匹配所依据的函数或基本块地址及特征,为分析人员指出值得深入研究的代码。它还能读取 CAPE、DRAKVUF 和 VMRay 沙箱报告以利用动态特征,可选用 vivisect、IDA Pro、Ghidra 或 Binary Ninja 进行分析,并提供 IDA 和 Ghidra 的 explorer 插件以及查看 JSON 结果的浏览器界面。

二进制完整条目

Avast 推出的基于 LLVM 的可重定向机器码反编译器。可处理 ELF、PE、Mach-O、COFF、AR、Intel HEX 或原始机器码,覆盖 32 位 x86、ARM、MIPS、PIC32、PowerPC 以及 64 位 x86-64 和 ARM64,能恢复函数、类型和 C++ 类层次结构,输出 C 或类 Python 语言代码,并生成调用图和控制流图。

二进制完整条目

跨平台交互式反汇编器,第 4 版以纯 C 重写:由 C17 引擎库、保留在本仓库中的 Qt6 图形界面,以及以共享库形式加载的加载器、处理器和分析器插件组成。反汇编列表支持重命名、注释和类型化数据,并提供同步的控制流图、交叉引用、字符串检测、十六进制视图、补丁和项目保存。除 PE 和 ELF 外,加载器还支持 DOS MZ、Win16 NE、OS/2 LE/LX、PlayStation 1、初代 Xbox 和 ZX Spectrum 等复古及主机格式,处理器涵盖 x86/x86-64、MIPS32、ARM/Thumb、ARM64、Z80 和 6502。

二进制 · 游戏完整条目

面向 IDA Pro 和 Binary Ninja 的代码覆盖率浏览插件,载入原生程序的执行轨迹,并在反汇编器的各个视图中为已执行代码着色,无需符号或源码。覆盖率总览按函数列出覆盖情况;组合命令行可用逻辑运算符组合已载入的覆盖率集合,用于比较多次运行的差异、筛选函数或跳转到指定地址;覆盖率交叉引用则显示批量载入的众多集合中哪些执行过某个基本块。它可读取 DynamoRIO drcov 日志、模块+偏移、绝对地址和 Tenet 轨迹,能生成简单的 HTML 覆盖率报告,并附带可输出 drcov 兼容日志的原型 Intel Pin 工具和 Frida 脚本。

二进制完整条目

腾讯科恩实验室开发的二进制静态漏洞扫描工具,以 Ghidra 扩展或无界面脚本方式运行,在 Ghidra 的 P-code 而非汇编上进行抽象解释,支持 x86、x64、ARMv7 和 AArch64 二进制。它执行流敏感、上下文敏感的过程间分析,可配置值集合大小和调用串深度,可选用 Z3 约束求解,并对外部函数建模,在此基础上运行 13 类 CWE 检查,涵盖命令注入、缓冲区溢出与越界访问、格式化字符串、整数溢出、重复释放、释放后使用和空指针解引用等。告警会列出指令地址及其调用上下文,显示在 Ghidra 控制台中或以 JSON 输出。

二进制完整条目

Binarly REsearch 团队 VulHunt 引擎的开源社区版,用于在 x86 和 ARM 架构的 POSIX 二进制和 UEFI 固件中挖掘漏洞。Lua 规则运行在 Rust 编写的 BIAS 框架之上(该框架将代码提升为 Ghidra P-code,并内置 Ghidra 的 C++ 反编译器),可结合污点与数据流追踪、基于 Weggli 的反编译代码查询、字节模式、FLIRT 签名和类型库进行检测;结果以 JSON 输出,并附带标注后的反编译代码。命令行可扫描单个二进制、Binarly BA2 归档或 Binary Ninja 数据库,也可作为 MCP 服务器运行,让 AI 助手打开项目、用 Lua 查询、重命名函数并记录注释。

二进制 · 固件完整条目

用于协同逆向工程的反编译器插件,把每位分析者的工作记录在共享 Git 仓库中(每位用户一个分支),队友可在 IDA Pro、Binary Ninja、Ghidra 和 angr-management 之间拉取、推送或自动推送更改。可同步的内容包括函数头(名称、参数和类型)、栈变量和全局变量、结构体、枚举和注释,并支持用户自定义类型。它由 mahaloz、angr 团队和 SEFCOM 研究实验室开发,并被 Shellphish 黑客团队使用;脚本操作需借助独立的 DecLib 库。

二进制完整条目

一款命令行工具,读取 Mach-O 可执行文件、框架和 bundle 中的 Objective-C 运行时元数据,并将其中的类、类别和协议输出为常规的 Objective-C 声明;信息与 otool -ov 所显示的相同,但形式更紧凑。它可以为每个类生成一个头文件,递归展开二进制所用的框架,从通用二进制中选择单一架构,对输出进行筛选或排序,并标注实例变量偏移和方法实现地址。

应用 · 二进制完整条目

Markus Gaasedelen 开发的 IDA Pro 插件,用于研究 Hex-Rays 反编译器如何逐步变换其微码(microcode)中间语言。在伪代码窗口中选择 View microcode 即可打开浏览器,它与伪代码保持同步,用户可让选中的微指令依次滚动经过各个微码成熟度层级,把子操作数追溯到来源;若追踪的代码已被优化掉,光标会变色提示。嵌套的子指令可显示为树状图;作者将其定位为面向开发者的原型和代码参考,而不是通用逆向工程工具。

二进制完整条目

radare2 的反编译插件,通过 pdd 命令把已分析函数的反汇编转换为伪 C 代码。反编译器用 JavaScript 编写,每种架构对应一个模块,编译为 QuickJS 字节码后嵌入原生的 radare2 核心插件;输出可与汇编或偏移并排显示,可只显示作用域块,可显示类型转换或交叉引用,也可输出 HTML 或作为注释写回 radare2。README 列出的架构包括 x86/x64、16/32/64 位 ARM、MIPS、PowerPC(含 VLE)、SPARC、AVR、V850 和 Dalvik,另有实验性的 6502、8051、BPF、m68k、SuperH、WebAssembly 和 RISC-V 支持。

二进制完整条目

基于 Frida 的 Web 界面,用于在测试设备上观察运行中的 Android 与 iOS 应用。它可列出内存中已加载的类和方法,跟踪方法参数与返回值,为选定的类生成 Hook 模板,在堆上查找类实例;在 Android 上还能按类别监控框架 API 以及少数 libc 文件函数。另有处于测试阶段的文件浏览器,可查看应用的私有目录。

卡内基梅隆大学软件工程研究所(SEI)推出的二进制程序自动化静态分析工具框架,基于劳伦斯利弗莫尔国家实验室的 ROSE 编译器基础设施完成反汇编、控制流分析和指令语义建模。其中最知名的 OOAnalyzer 跟踪对象指针在函数之间的传递,再用 Prolog 规则从这些事实中恢复 C++ 类、方法等面向对象结构,适用于 Microsoft Visual C++ 编译的 32 位 x86 可执行文件,方法见 CCS 2018 论文;结果以 JSON 导出,可供仓库自带的 IDA 插件或独立的 Kaiju Ghidra 插件使用。其他工具可查找 API 调用序列(ApiAnalyzer)、报告 API 调用的静态参数(CallAnalyzer)、生成用于相似性分析的函数哈希和 YARA 签名(FN2Hash、FN2Yara),以及求出从一个地址到达另一地址所需的条件(PathAnalyzer)。

二进制完整条目

Jonathan Becker 用 Rust 编写的 EVM 智能合约字节码分析工具包,尤其适用于未公开验证源码的合约。其命令行可反汇编字节码、生成控制流图,借助逐函数的符号执行和启发式后处理把字节码反编译为 ABI 以及测试阶段的 Solidity 或 Yul 源码,还能解码原始 calldata、导出合约在某一区块范围内访问的存储槽,并通过解码 calldata、调用跟踪和日志来检查交易。分析目标可以是原始字节码、文件、合约地址或 ENS 名称;函数选择器默认通过 OpenChain 签名数据库解析,也可跳过这一步。

二进制完整条目

用于查看和编辑 Windows 可移植可执行(PE)文件的 Qt 图形工具,旨在为恶意软件分析人员提供快速的初步查看,并能稳定处理畸形的 PE32 与 PE64 文件。它可显示文件头和节区布局,跟随原始偏移、RVA 和 VA 地址,借助 Capstone 从任意偏移开始反汇编,按签名识别加壳工具,对比两个文件,并能还原从内存转储的映像。

二进制完整条目

hasherezade 开发的 Windows 进程扫描工具,可在单个运行中的进程里发现并转储植入内容:被替换或注入的 PE 模块、shellcode、内联钩子与 IAT 钩子以及其他内存补丁;README 列出的可检测技术包括 Process Hollowing、Process Doppelgänging 和反射式 DLL 注入。可选功能包括按特征模式或统计方法检测 shellcode,扫描线程调用栈、不可执行内存页以及加密或混淆内容,选择转储模式并为转储的 PE 恢复导入表,生成 minidump 和 JSON 报告。它可构建为 EXE、提供简单 API 的 DLL(Python、Go 和 Rust 绑定均基于该 API)或静态库,也是 HollowsHunter 和 MalUnpack 的扫描引擎。

二进制完整条目

Philippe Lagadec 开发的 Python 工具包,用于分析 Microsoft OLE2(复合文件二进制格式)文件,如 Office 97–2003 文档、MSI 文件和 Outlook 邮件,也支持 RTF 与 OpenXML 文档,主要面向恶意软件分析、取证和调试。其命令行工具可检测并提取 VBA 与 Excel 4(XLM)宏、嵌入的 OLE 和 Flash 对象以及 DDE 链接(olevba、MacroRaptor、oleobj、rtfobj、pyxswf、msodde),用 oleid 和 ftguess 标记恶意文件中常见的特征,并通过 oledir、olemeta、oletimes 和 olemap 查看目录项、元数据、时间戳和扇区布局。它基于同一作者的 olefile 解析器。

二进制完整条目

MonkeyDev 基于 iOSOpenDev,为 Xcode 增加 MonkeyApp 工程模板,用于对开发者有权分析的 iOS 应用进行插桩。它在 Xcode 中将开发者编写的 dylib 注入到提供的已解密应用,编写 Objective-C 或 Logos(CaptainHook)Hook,并完成重签名、安装与带源码级断点的调试;可选的构建设置支持还原 Objective-C 符号、导出目标应用的 Objective-C 头文件以及启用 Reveal 视图检查。当前版本还可为 rootless、rootful 或 roothide 环境构建越狱 Logos/CaptainHook Tweak 和命令行工具。

hasherezade 开发的 Windows 命令行内存扫描器,把 PE-sieve 引擎从单个 PID 扩展到多个进程乃至整个系统。它识别并转储被替换或植入的 PE 模块、shellcode、钩子及其他内存补丁,供进一步分析,可按 PID 列表、进程名列表或相对于扫描开始时间的进程创建时间选择目标。扫描可以循环执行;64 位版本还能作为 ETW 监听器运行,由 INI 配置文件选择触发扫描的事件。

二进制完整条目

运行于 macOS 的命令行工具,为已剥离符号的 iOS 应用 Mach-O 可执行文件重建符号表并输出新文件,使 lldb 等调试器能按 Objective-C 方法名设置断点并显示名称。它借助 class-dump 从二进制的 Objective-C 元数据中恢复方法名和地址,也可以从 JSON 文件合并额外的名称与地址,例如随附 IDA 脚本找到的 block 符号。

应用 · 二进制完整条目

Mandiant FLARE 团队面向恶意软件分析人员的动态网络分析工具,是原版 Fakenet 的后继。其 Diverter 将 Windows 本机进程的流量,或在 Linux MultiHost 模式下将其他主机的流量,重定向到可配置的监听器;这些监听器模拟 DNS、HTTP 与 HTTPS、SMTP、FTP、TFTP、IRC、POP 以及原始 TCP 或 UDP 服务,并支持进程和主机过滤、自定义响应,以及在连接到来时启动调试器等命令。会话可保存为 PCAP,结束时生成交互式 HTML 报告,按进程和协议归类展示网络行为指标。

二进制 · 协议完整条目

静态代码分析平台,将源代码、JVM 字节码和可执行文件解析为代码属性图并存入图数据库,可在交互式 shell 或服务器模式下用基于 Scala 的查询语言检索。前端覆盖 C/C++、Java、JavaScript、Python、Kotlin、PHP、Go、Ruby、Swift、C#、Rust 和 ABAP 源码,借助 Soot 处理 JVM 字节码及 APK/DEX 文件,并通过内置的 Ghidra 加载二进制文件,文档将这部分列为 x86/x64 支持。它还提供静态污点追踪引擎、收录漏洞模式的 joern-scan 查询库,并可将 AST、CFG、PDG 或整图导出为 DOT、GraphML、GraphSON 或 Neo4j CSV。

应用 · 二进制完整条目

Mandiant 的 Windows 恶意软件仿真框架,借助 Unicorn CPU 仿真器,在模拟的 Windows 运行环境(而非完整虚拟机)中运行 PE 可执行文件、DLL、内核驱动和原始 x86/amd64 shellcode。手写的处理程序加上由 win32metadata 和 phnt 生成的签名库,负责模拟 Windows API 调用、进程与线程行为、文件系统、注册表和网络,每次运行都记录为结构化 JSON 报告,其中包含带参数名的 API 事件、释放的文件以及可选的内存快照。它可通过 speakeasy 命令行或作为 Python 库使用,内置的 GDB 桩可让分析者单步调试仿真中的样本。

二进制完整条目

最初为 CTF 解题编写的单文件 IDA 便捷操作插件。在反汇编和十六进制视图中,它可把选区导出为字符串、十六进制字符串,或按字节、字、双字、四字导出为 C/C++ 数组或 Python 列表,并复制到剪贴板;还能显示选区与单个字节异或后的结果、用 NOP 填充选区,并通过快捷键复制或跳转到地址和文件偏移。配合 Hex-Rays 时,它可把函数返回类型切换为 void、复制条目名称,双击 obj->func 形式的调用时跳转到对应成员函数;另有启发式扫描,列出格式参数并非只读常量的 printf 系列调用。

二进制完整条目

hasherezade 开发的 Intel Pin 插桩工具,在 Windows 或 Linux 上跟踪运行中的 32 位或 64 位程序,记录 API 调用(对监视的函数还会记录参数和返回值)、指定的本地函数和静态链接库函数、内联系统调用、RDTSC、CPUID 和 INT 指令,以及被跟踪模块各节区之间的跳转,有助于找到加壳模块的原始入口点。它可以继续跟踪模块解包到新内存中的代码,对选定范围进行反汇编,并可在 Windows 上标记样本执行的反调试和反虚拟机检查。每次运行都会生成由“RVA;事件”行组成的 .tag 文件,PE-bear 可直接读取,Wiki 还演示了将其导入 IDA Pro、Binary Ninja、x64dbg、Ghidra 和 Cutter 以标注代码。

二进制完整条目

IDA Pro 插件,仓库简介称其获得 2016 年 IDA 插件大赛冠军,它把 Triton 框架的污点分析和符号执行引入 IDA 调试器,适用于 x86 和 x64 程序。分析人员对寄存器、内存或 argv、fread 读入的缓冲区等输入进行污点标记或符号化后,Ponce 会单步执行被调试程序,用 Triton 分析每条指令,并重命名受该输入影响的函数。其符号引擎可以求解分支条件,或将条件取反后把满足条件的输入注入内存,再借助执行快照恢复先前状态来尝试该输入;启用 Hex-Rays 支持的构建还会在反编译伪代码中显示分析结果。

二进制完整条目

CERT Polska 基于 DRAKVUF 引擎构建的自动化黑盒恶意软件分析系统,借助虚拟机自省从 Xen 虚拟机监控器一侧观察 Windows 客户机,无需在客户机中安装代理。通过 Web 界面或命令行提交的样本在恢复的快照中运行,报告涵盖进程树、WinAPI、文件与网络活动、PCAP、截获的 TLS 密钥、内存转储、截图以及基于 capa 的 TTP 指标。drakrun 安装命令负责构建 Windows 客户机、快照及 VMI 配置文件。

二进制完整条目

面向 IDA Pro Hex-Rays 反编译器的 IDAPython 插件,帮助根据伪代码重建结构体和类。其结构体构建器可在单个函数内,或通过深度扫描在变量被传入的各个函数中,收集该变量访问的字段,识别虚表,解决字段冲突,并生成 C 声明应用到所有已扫描的变量;Classes 视图可编辑类及其虚函数,结构图则展示本地类型之间的关系。伪代码辅助功能可沿赋值和调用两侧统一类型与名称、传播名称、将越界指针改写为包含结构体的 CONTAINING_RECORD、修改函数签名、根据 assert 字符串批量重命名函数,以及整理 if 语句。

二进制完整条目

源自 Cuckoo v1 的恶意软件沙箱,在隔离的 Windows 客户机中运行样本,记录 API 挂钩行为、创建和修改的文件、PCAP 网络流量、屏幕截图和内存转储。其 capemon 监控组件增加了自动脱壳功能,可捕获被注入、解出或解压的载荷并转储进程映像;内置调试器可由 YARA 签名或提交选项设置断点并输出简短的指令跟踪。结果通过 YARA、Suricata 和行为签名分类,恶意软件配置则由独立的 CAPE-parsers 包中的解析器提取。

二进制完整条目

Lua 字节码反编译器,可把编译后的代码块还原为 Lua 源码,提供反汇编模式,可按编号只处理某个嵌套函数,并能推测局部变量声明,推测结果也可手动指定。其 -fc 选项会重新编译每个反编译出的函数,并与原函数逐条指令比较。它以 Lua 5.1 为主要目标,Lua 5.2 和 5.3 的支持标为实验性,延续了 Hisham Muhammad 面向 Lua 5.0 的 LuaDec 和 Zsolt Sztupak 的 LuaDec51。

二进制 · 游戏完整条目

基于 Frida 的命令行工具,可双向观察 iOS 和 macOS 上进程之间交换的 XPC 消息,用于理解 Apple 平台的应用与服务如何通过 XPC 通信。它可通过 USB 或远程 Frida 连接启动或附加到目标,按方向(传入或传出)和带通配符的服务名过滤跟踪,并可选解析 XPC 字典中携带的二进制 plist 负载,其中 bplist00 和 bplist16 被列为正式支持,bplist15 和 bplist17 为实验性。工具由 Python 命令行驱动一个编译为 JavaScript 的 TypeScript Frida 代理。

应用 · 协议完整条目

带 PySide6 图形界面和命令行模式的 Python 反混淆与分析工具包,面向分析被混淆或打包的 Python 程序的人员。它内置针对多种 Python 混淆器(如 Jawbreaker、BlankOBF、PlusOBF、Wodx、Hyperion 和 pyobfuscate)的反混淆器,以及一个 AI 辅助的 "Onyx" 引擎,将本地 Ollama 大模型(默认 qwen2.5-coder:1.5b)与 AST 清理和模式匹配结合。文件分析器可检测 PyInstaller 等打包器、计算哈希、查找可疑字符串并提取元数据;行为监视器和一个执行 Python 代码的交互壳则用于对目标进程做动态检查。它提供插件 API,也可作为库使用。

应用 · 二进制完整条目

基于 Frida 构建的 PyQt5 调试器,可附加或启动 Android、iOS 设备、本机或远程 Frida 服务器上的进程。调试会话提供断点、观察点、寄存器上下文、调用栈和线程视图,支持 x86、x64、ARM 与 ARM64 的 Capstone 反汇编视图、十六进制编辑器,以及模块、内存区域和内存搜索面板;Java 浏览、检查与跟踪面板和 Objective-C 检查器则面向移动应用运行时。用户编写的 Frida 脚本和 Python 插件可扩展会话,配套命令可跟踪 Java 方法或原生地址(dwarf-trace)、在 arm64 上记录单个模块发起的系统调用(dwarf-strace),并生成带 Dwarf API 类型声明的脚本项目(dwarf-creator)。

应用 · 二进制完整条目

Bitdefender 开发的 x86/x64 指令解码库,以 C 编写且无外部依赖,可报告显式与隐式操作数及其访问方式、CPUID 特性标志、标志位访问和有效模式,并输出 Intel/MASM 风格的反汇编文本。精简 API 使用 64 字节的指令结构,以较少的信息换取速度;配套的 bdshemu 库在原始缓冲区中模拟基本的 x86/x64 代码,用于标记类似 shellcode 的行为,例如 NOP 滑板、读取指令指针、自修改、访问 TEB/PEB 和系统调用。命令行示例 disasmtool 可对文件或十六进制字符串进行解码或模拟。

二进制完整条目

uncompyle6 作者对该项目的重构版本,可把 Python 3.7 和 3.8 的字节码(包括部分 PyPy 3.7 和 3.8 字节码)还原为等价的 Python 源码;更早版本的字节码仍由 uncompyle6 处理。它借助配套的 xdis 库反汇编代码对象,再用重构后的语法对指令流进行词法处理和解析,生成语法树并据此输出源码;它还能只反编译给定起止偏移之间的代码,或通过 decompyle3-code 只反编译文件中的 lambda、生成器和各类推导式。README 指出,仅靠语法重写并不能解决 uncompyle6 在控制流上的根本问题,作者正在另一个未公开的项目中用基于支配关系的分析来解决。

应用 · 二进制完整条目

由 Tamas K Lengyel 开发的基于虚拟化、无需代理的黑盒二进制分析系统:它运行在 Xen 虚拟机监控器上并借助 LibVMI,跟踪 Windows 和 Linux 客户机中从内核函数到用户态代码的执行过程,且无需在被分析的虚拟机内安装任何软件。各插件可记录系统调用、API 调用以及文件、注册表、进程、套接字和内存活动,在文件被删除前从内存中提取文件并转储进程内存;注入器无需客户机内辅助程序即可在客户机中启动程序。CERT Polska 另行开发的 DRAKVUF Sandbox 在其基础上构建了带图形界面的自动化沙箱。

二进制完整条目

VBA 解析与仿真引擎,由 Philippe Lagadec 创建,自 2017 年起主要由 Kirk Sayre 及其他贡献者开发,用于分析和去混淆 Microsoft Office 文件(如 Word、Excel、PowerPoint 和 Publisher 文档)中的恶意宏,也可处理 VBScript 文件和内含 VBScript 的 HTA 文件。vmonkey 命令通过 oletools 的 olevba 读取宏,从自动运行入口或分析人员指定的函数开始仿真,报告记录到的行为(例如创建进程),并可列出中间 IOC 和代码将写出的文件;vbashell 则是交互式 VBA shell。其 Python API 可求值 VBA 代码片段、遍历并仿真单个代码块、替换函数以及对代码去混淆。

二进制完整条目

可注入的 x86 实模式调试器,用于在真实硬件或虚拟机上调试传统 BIOS 代码、引导代码和 DOS 程序。放入目标代码中的 16 位汇编小程序会安装中断处理程序、让处理器单步执行,并通过串口与 Linux 上的桥接程序通信;桥接程序把这些简化报文转换为 GDB 远程协议,使 GDB 能读写内存和寄存器、单步、继续执行,并可同时设置一个硬件断点和一个观察点。配套脚本可将地址与标签列表转换为供 GDB 加载的最小 ELF 符号文件。

二进制 · 固件完整条目

函数级提升器:对 Windows PE 二进制中的单个 x86-64 函数进行符号化提升,生成 LLVM IR,再反复运行 LLVM 与自定义优化 pass 直至收敛,使经混淆或虚拟化的代码化简为更清晰的控制流和语义,便于分析。其范围文档列出 119 个指令处理器,支持双向分支和若干已测试的跳转表形态;README 示例提升的是作者自己用 VMProtect 和 Themida 保护的小型测试函数,输出的 IR 可编译后在反编译器中查看。

二进制完整条目

命令行工具集(原名 pev),用于分析 32 位和 64 位 Windows PE 文件。readpe 输出 DOS、COFF 与可选头、节区、数据目录以及导入和导出表;配套工具可反汇编代码(pedis),以 ssdeep、imphash 等算法对整个文件、文件头或节区计算哈希(pehash),列出并提取资源(peres),匹配加壳签名(pepack),标出 TLS 回调、高熵值或异常入口点等特征(pescan),报告 ASLR、DEP/NX、SEH 与栈 cookie 标志并导出证书(pesec),还能查找字符串以及在文件偏移和 RVA 之间换算。输出插件支持文本、CSV、XML、HTML 和 JSON,附带的 libpe C 库提供解析功能。

二进制完整条目

用于半自动分析 JavaScript 恶意代码的 Node.js 沙箱:在 Node 的 vm 模块中运行样本,并模拟 Windows Script Host 与 ActiveX 对象,例如 WScript.Shell、MSXML2.XMLHTTP、ADODB.Stream、Scripting.FileSystemObject 和 WMI,另有可选择浏览器配置的部分浏览器环境。它记录创建的对象和调用的方法,保留每次 eval() 的参数以辅助去混淆,记下请求的 URL 和 WMI 查询,并保存投放器试图写入的文件,便于检查载荷。运行结束时,整个沙箱上下文会导出为 JSON 供复查。

二进制 · 网站完整条目

受 xpcspy 启发的 macOS 命令行 XPC 嗅探工具:把 Frida 代理注入已附加或新启动的进程,记录其收发的 XPC 消息,并标出对应的 libxpc 函数、连接名、对端 PID 与进程名。代理会递归地把 xpc_object_t 字典、数组和标量值转换为可读输出,并解码二进制 plist 负载;基于 frida-go 的 Go 主程序负责选择本地、USB 或远程 Frida 设备,按名称或 PID 过滤连接,并可将跟踪结果保存到文件。它用于观察 Apple 平台应用与服务如何通过 XPC 通信,不会修改或注入消息。

应用 · 协议完整条目

Trail of Bits 开发、现已归档的符号执行工具,可分析 x86、x86-64、AArch64 和 ARMv7 上的 Linux ELF 二进制、以 EVM 字节码表示的以太坊智能合约以及 WebAssembly 模块。它以符号输入运行程序,探索可到达的各个状态,生成能到达指定状态的具体输入,并检测崩溃等错误情形,约束由外部的 Yices、Z3 或 CVC4 求解器求解。manticore 命令行工具把生成的测试用例写入 mcore_ 工作目录,Python API 则支持指令钩子、事件回调和自定义初始状态;manticore-verifier 用于检查以合约自身语言编写的属性。

二进制完整条目

Thomas Roth(Ghidra Ninja)编写的 Ghidra Python 脚本合集,脚本会出现在 Script Manager 的 Ghidra Ninja 分类下。binwalk.py 和 yara.py 对已加载的程序运行 binwalk 或自带的 YARA 密码常量规则,并为发现的结果添加书签;YaraSearch.py 则使用用户选择的规则文件完成同样的工作;swift_demangler.py 还原 Swift 函数名;golang_renamer.py 依据 .gopclntab 表恢复去符号 Go 二进制中的函数名;export_gameboy_rom.py 可将用 GhidraBoy 导入的 Game Boy 程序重新导出为可运行的 ROM。

二进制完整条目

移植自 Ilfak Guilfanov 为 IDA 编写的 FindCrypt 插件的 Ghidra 脚本,在程序内存或当前选区中查找密码算法与压缩算法的常量。其序列化签名库保留了原插件的 79 组算法常量,按 README 的统计共含 122 个可检测常量,涵盖哈希函数、分组密码与流密码、Curve25519 代码、Keccak 和 zlib;若找不到完整常量,脚本还会查找其中的单个元素,并报告超过检测阈值的部分匹配。命中结果会生成 Ghidra 书签和结果表,可从表中将匹配位置定义为数据。

二进制完整条目

由大量可组合的 Python 命令行单元组成的二进制数据转换工具集,涵盖编码、压缩、加密、归档与可执行文件格式提取、数据切割(carving)和模式搜索。各单元从标准输入读取、向标准输出写入,因此可串联成 shell 管道;分帧(framing)、multibin 参数和元变量使一条管道能处理多个数据块,binref 命令可检索各单元的帮助文本。作者称其为面向恶意软件初步分析、在命令行上实现类似 CyberChef 功能的工具;README 还指向独立的 binref/agent 仓库,其中提供供语言模型智能体使用 refinery 的说明。

二进制完整条目

在 CodeBrowser 面板中调用 angr 符号执行的 Ghidra 扩展。分析者可用快捷键标记目标地址、可选的起始地址和需要避开的地址,并可将程序参数、内存区域或寄存器设为符号值,向内存和寄存器写入具体值,钩住指定指令,或把在 Ghidra 中修补的字节应用到 angr 项目。随附的 Python 脚本对程序的原始文件运行 angr 路径探索,反汇编列表会高亮找到的路径上的指令,面板则显示能到达目标地址的参数、内存和标准输入取值。

二进制完整条目

基于 Frida 的闭源程序模糊测试套件,本条目收录的是其进程内插桩与覆盖率采集部分。经 Frida 注入的 JavaScript 测试框架会在分析者选定的函数处启动 Stalker,记录每次调用时目标模块中执行过的基本块,再提供给 AFL++ 的覆盖率位图或 fpicker 自己的独立模式。其被动模式相当于跟踪器:附加到正在运行的进程而不发送输入,并在出现新覆盖时保存到达该函数的输入及对应覆盖信息,可用于本机,也可用于通过 USB 或网络连接、运行 frida-server 的设备。

应用 · 二进制完整条目

HexHive 开发的静态二进制改写工具,面向 x64 与 aarch64 的 Linux ELF 二进制:将二进制转换为符号化、可重新汇编的汇编代码,从而无需源码、也不依赖启发式规则即可插入插桩。附带的改写模块可添加仅针对二进制的 AddressSanitizer 和 AFL 覆盖率插桩,aarch64 上另有函数入口粗粒度控制流完整性模块;符号化的汇编也可在重新汇编前手工或用其他工具修改。x64 改写器的 KRetrowrite 变体可用 BASan 或 kcov 为 Linux 内核模块插桩,用于内核模糊测试。

二进制完整条目

源自 Dexcalibur 项目的 Frida 库,借助 Frida 的 Stalker 跟踪进程的系统调用,输出类似 strace 的记录,标明调用线程、模块与偏移,解码标志位取值,并根据文件描述符还原文件路径。跟踪范围可按名称或模式限定到指定模块和系统调用,可在某个库加载时启动,可附加 Interceptor 风格的逐系统调用回调,还能生成 drcov 基本块覆盖率文件。README 说明支持 AArch64 与 x64 上的 Linux 和 Android;源码中另有 AArch32 Linux 以及 macOS arm64、x64 的入口。

应用 · 二进制完整条目

macOS 应用及命令行工具,可读取 macOS 或 iOS 的 dyld_shared_cache 文件,显示其头部、映射区和镜像列表,并将单个或全部动态库复制到指定目录。命令行提供 --info、--extract 和 --extract-all,图形界面显示同样的头部信息,并可选择要提取的镜像。README 已将项目标为过时,并推荐作者的 dyld-cache-dump。

应用 · 二进制完整条目

Mandiant FLARE 团队已归档的 IDAPython 插件与脚本合集,用于在 IDA Pro 中分析恶意软件和原生代码。它可在代码中搜索 shellcode 使用的预计算 API 名称哈希,恢复在栈上拼接的字符串(静态分析,或在 ironstrings 中借助 flare-emu 模拟执行),为结构体字段和间接调用应用函数类型,用 MSDN 中的函数、参数和常量信息注释导入函数,并通过 idb2pat 从 IDB 中的函数生成可用于制作 FLIRT 签名的模式文件。其他脚本可追踪字符串解码函数等调用的静态参数,在 Mach-O 文件中把 Objective-C 选择器引用关联到其实现,还能为常见 Windows API 导入函数植入简易实现,使解码或解包代码可在 IDA 的 Bochs 模拟模式下运行。

二进制完整条目

二进制特征词法框架,从可执行文件中提取指令、基本块和函数,并输出可检索的 JSON 特征,用于相似度分析、威胁狩猎和签名工作。它以仿基因组学的层级结构对代码建模,计算 MinHash、TLSH、SHA256、熵和通配字节模式等特征,从而在大规模样本间进行比较、聚类并生成签名。它提供命令行工具套件、Rust API、Python 绑定和 IDA 插件,可依据其模式生成 YARA 规则,并支持本地或通过 IPC 与 HTTP 运行处理器。

二进制完整条目

用于分诊 Windows 内核驱动的 IDA Pro Python 插件,在 NCC Group 最初的 DriverBuddy 基础上发展而来。其自动分析可识别驱动模型(WDM、KMDF、UMDF、WDF、Mini-Filter、Stream Minidriver、AVStream 或 PortCls),定位设备控制派遣例程,标注 IRP、IO_STACK_LOCATION 和 WDF 结构及调用,并通过 Hex-Rays ctree、switch 跳转表和立即数操作数三种扫描发现并解码 IOCTL 码。它还会报告设备名、符号链接与设备 ACL、池标记、被标记的 API 和指令、基于名称的调用链,以及带逐个 IOCTL 风险评分的启发式漏洞线索,结果显示在 IDA 结果窗口中,并写入 JSON 文件和 HTML 报告。

二进制完整条目

一个主要以 IDA 插件形式使用的 Python 框架,把定位符号时的手工步骤(例如查找字符串、跟随交叉引用、跳到函数起始处)写成可复用的签名。Hjson 格式的 SIG 文件按平台归入不同项目,其中串联的命令可搜索字节、字符串、立即数或用 Keystone 汇编出的指令,按操作数和交叉引用筛选,再设置名称、类型、常量、枚举和结构体成员;也可用 Python 脚本调用同一解释器。在 IDA 中,它添加 FA 菜单和工具栏,用于查找项目的全部符号、根据当前函数生成临时签名草稿,以及导出符号和 C 头文件;另有一个加载器可在不使用 IDA 的情况下对原始 ELF 文件运行签名。

二进制 · 固件完整条目

PyInstaller Extractor(pyinstxtractor)的同一作者所做的分支版本,可从 PyInstaller 构建的 Linux ELF 和 Windows PE 可执行文件中提取打包的 CArchive 文件和 PYZ 模块,并输出修复了文件头的 .pyc 文件,供另行使用的字节码反编译器处理。与原脚本不同,它借助 xdis 库反序列化 PYZ 归档,因此无须在构建该可执行文件时所用的 Python 版本下运行;对于经 PyInstaller 可选 AES 加密保护的 PYZ 条目,它会利用同一可执行文件中打包的密钥模块自动解密。单目录模式会把 PYZ 内容提取到其他文件旁边,便于直接运行提取结果;--info 选项则只输出版本、入口点和加密情况等归档元数据,而不写入任何文件。

应用 · 二进制完整条目

Trail of Bits 开发的 C++23 混合布尔-算术(MBA)表达式化简器。MBA 是一种混淆技术,会把简单运算改写为算术、按位与移位运算交织的复杂形式。cobra-cli 接受一个表达式和 1 至 64 位的位宽,输出更简单的等价式:工作列表调度器组合签名向量与基变换技术、带常量掩码的半线性处理、多项式恢复、混合乘积分解和子表达式提升,每个结果都会用随机输入抽查,也可选用 Z3 做等价性证明。同一引擎还以库的形式提供,并可编译为 LLVM 优化遍插件,对其在 LLVM IR 中检测到的 MBA 表达式进行化简。

二进制完整条目

针对 Obfuscator-LLVM(OLLVM)控制流平坦化的 Python 命令行去混淆工具。给定被平坦化函数的地址后,它借助 Miasm 的符号执行跟踪分发器的状态变量,记录每个状态值对应的基本块及其后继状态,再用 Keystone 按恢复出的顺序重新汇编该函数,并写出一份修改后的二进制副本;可选模式还会沿该函数的调用继续处理。README 涵盖 32 位和 64 位 x86 的 Windows 与 Linux 二进制,并将这种做法与 MODeflattener 的静态方法作了对比。

二进制完整条目

Ghidra 扩展,其 Golang Analyzer 读取 go1.6 至 go1.27 所编译 Go 二进制中的运行时头部和模块数据,用以识别 Go 版本、重命名函数、修正参数、以注释标出源文件与行号,把 Go 类型加入数据类型管理器,并标注 Go 字符串。插件窗口列出恢复出的函数、类型、源文件和字符串,并可链接到 Go 源码;另行安装 ghidra-wasm-plugin 等 Wasm 加载器后,也能处理 WebAssembly 构建。随附的脚本还会为解码 gobfuscate 式混淆字符串的函数重命名,并以注释写出解码后的文本。

二进制完整条目

一款 IDA Pro 插件,用于清理 Hex-Rays 伪代码,并为 iOS 用户态二进制和 kernelcache 提供导航辅助,会根据所加载的文件启用相应组件。对 Objective-C 和 Swift 代码,它可隐藏引用计数调用、选择器和静态类参数,折叠 os_log 调用序列,把属性辅助函数还原为普通赋值或字段读取,列出方法选择器的交叉引用,并加入 Swift 类型声明和可读的栈上字符串。对 kernelcache,它可为 safeMetaCast 和带类型的 operator new 的返回值设置类型,为 kalloc_type_view 全局变量命名并设置类型,修正 this 参数,并列出虚函数调用的所有可能实现;通用辅助功能则会移除 __break 调用、改写范围条件、折叠 block 初始化代码并标记外提(outlined)函数。

应用 · 二进制完整条目

曼彻斯特大学开发的动态二进制修改框架,可在 32 位 Arm(A32/T32)、AArch64 和 RV64GC RISC-V 上运行未经修改的 Linux 用户态程序,并在执行过程中把代码翻译到代码缓存里运行。事件驱动的 C 插件 API 可在代码扫描与执行事件上注册回调并生成插桩代码;示例插件可统计指令构成、分支与基本块次数,跟踪内存访问和系统调用,查找热点,模拟缓存,检查内存错误并检测数据竞争。

二进制完整条目

一款 IDA Pro 插件,借助 C++ 运行时类型信息(RTTI)扫描 Microsoft Visual C++ 编译的二进制中的虚函数表(vftable),为找到的虚函数表命名、添加标签和注释,定义 RTTI 数据结构,并识别各类层次结构中的单继承、多继承和虚继承。它还会处理静态初始化与终止函数表,并打开一个列表窗口,显示各虚函数表的方法数量和类层次结构,点击任一行即可跳转到对应的虚函数表。作者指出,IDA 9 内置的 RTTI 插件现已能找到几乎全部此类数据,因此当前版本只为 IDA 遗漏的结构设置类型,主要用作汇总和浏览视图。

二进制完整条目

McGill 大学数据挖掘与安全实验室开发的服务端平台,可把大量已反汇编的二进制建立索引、存入可共享的仓库,并在其中搜索克隆的汇编函数。平台提供多种应用:在同一指令集家族内进行子图克隆搜索(Asm-Clone),借助符号执行与具体执行在 VEX IR 上进行跨架构语义搜索(Sym1n0),面向编译优化与混淆的 Asm2Vec 表示学习,以及基于 Asm2Vec 的可执行文件分类。IDA Pro 插件把函数发送到服务端,并以控制流图、文本差异和克隆分组视图展示结果;README 中的准确率与查询耗时数据出自作者自己的论文。

二进制完整条目

用于分析 iOS 应用和 arm64 Mach-O 二进制的工具集,基于 Capstone、Unicorn 与 Keystone 构建。其扫描器可提取应用包元数据(如 URL Scheme 和传输安全设置),定位 Objective-C 类引用和 NSPredicate 用法,识别符号包装函数,并借助 Unicorn 部分模拟 arm64 代码以恢复 objc_msgSend 交叉引用,包括经由 block 传递的调用。生成器可把扫描报告转成 IDA Pro 脚本,用于添加交叉引用和重命名包装函数,也可启动本地查询服务;共享核心库及插件接口可用于开发自定义工具。

应用 · 二进制完整条目

Denuvo 发布的研究工具,用于化简线性混合布尔-算术(MBA)表达式;这类表达式混合使用位运算和整数运算,常见于代码混淆。它与 MBA-Blast、MBA-Solver 一样采用纯代数方法,依据线性 MBA 完全由其在 0/1 输入上的取值决定这一性质:对所有 0/1 输入组合求值,再把表达式改写为基本位运算表达式的线性组合,而无需先转换到 1 位空间。所附 Python 脚本可化简单个表达式或整个数据集,可检查输入是否为线性 MBA,并可用 Z3 证明结果与原式等价。

二进制完整条目

GrammaTech 开发的二进制中间表示,用于在各类二进制工具之间传递反汇编、分析与改写结果,其定位参照 LLVM-IR 在编译器中的作用。一个 IR 包含代表可执行文件或库的模块及其节、字节区间、代码块与数据块、符号和符号化操作数,另有过程间控制流图和存放分析结果的 AuxData 表,所有元素都通过 UUID 引用;它刻意不表示指令语义,机器码以原始字节保存,可交由 Capstone/Keystone 或其他中间语言处理。GTIRB 以 protobuf 序列化,提供 C++、Python 和 Common Lisp API 以及不完整的 Java API;另行收录的 ddisasm 可生成这种表示。

二进制完整条目

Quarkslab 的二进制导出工具,受 BinExport 启发,把反汇编器的分析结果保存为 protobuf 格式的 .quokka 文件,此后无需反汇编器即可使用其中的函数、基本块、数据、交叉引用、段以及可选的反编译代码。其 Python 绑定将导出文件与原始二进制一并载入,运行时用 Capstone 解码指令,也可选用 pypcode 将其提升为 P-code,并通过统一的 API 提供程序、函数和控制流图。main 分支在 IDA Pro 插件之外新增了 Ghidra 与 Binary Ninja 导出器、可并行批量导出的 quokka-cli,以及可写回 IDA 数据库的名称和类型编辑。

二进制完整条目

以 Rust 编写的静态逆向工程工具包,安装后为 knife 命令,可在不运行目标的情况下解析 PE、ELF、Mach-O 和 WebAssembly 文件。它能分诊哈希、节区、缓解措施、导入、字符串、威胁指标和加密常量;通过面向 x86/x64 与 AArch64 的递归下降反汇编恢复函数、调用图和控制流图;还能把函数提升为实验性伪代码。分析者添加的命名、注释、类型和暂存补丁保存在按二进制区分的数据库中,由命令行、终端界面和 MCP 服务器共享;另有分析步骤按参数来源对有风险的 API 调用点排序,并汇总 Windows 驱动的派发例程和 IOCTL 接口。

二进制完整条目

一个 Python 二进制分析框架:加载 ELF 和 PE 程序,借助 Capstone 反汇编 32 位与 64 位 x86 及 32 位 ARM 代码,并将其翻译为 REIL 中间语言,使各项分析不依赖源架构。其模块可恢复控制流图和调用图、模拟执行 REIL,并把代码片段转换为 Z3 或 CVC4 公式,以检查寄存器和内存上的约束;0.6.0 版加入了基础的符号执行。随附的命令行工具可恢复 CFG 和调用图、重放 x86 执行轨迹,以及搜索、分类和验证 ROP gadget。

二进制完整条目

使用 C 编写、完全不在堆上分配内存的 MIPS 指令解码器,同一仓库还提供 Python、C++ 和 Rust 绑定,目标是生成可匹配的汇编。它逐条解码指令字,重点支持 MIPS I 至 III,部分支持 MIPS IV,还能处理 N64 的 RSP、PlayStation 的 R3000 GTE、PSP 的 R4000 Allegrex 以及 PS2 的 R5900;提供指令有效性检查、按特征分组查询指令、可配置的伪指令与寄存器命名,以及用于自建指针和符号检测的小工具。匹配式反编译工具以它为基础:splat 和 spimdisasm 都把它列为 Python 依赖。

二进制 · 游戏完整条目

通过 pyghidra 驱动 Ghidra 的 Python 命令行反编译工具:把二进制中的所有函数分别反编译为独立的 C 文件,或借助 Ghidra 的 C++ 导出器生成一个 C 文件和头文件,并保留 Ghidra 项目以便后续运行复用分析结果。可按正则筛选函数,从本地文件或 Microsoft、Chromium、Mozilla、Intel、NVIDIA、AMD 符号服务器应用 PDB 符号,加载额外的 GDT 数据类型库,输出 Mermaid 调用图 Markdown,生成 BSim 函数签名,并用 Semgrep 规则扫描反编译代码、输出 SARIF 报告。

二进制完整条目

纯 Python 编写的逆向工程框架,集成了 vivisect 静态分析器、vtrace 调试库和 vdb 调试器。Vivisect 可将 PE、ELF、Mach-O、Intel HEX、S-record 和原始数据块文件载入工作区,借助 envi 架构模块对 x86、AMD64、ARM、Thumb、AArch64、MSP430、H8 和 Z80 代码进行反汇编和模拟执行,并提供符号执行、Qt 图形界面和远程工作区服务器。vtrace 可在 Windows、Linux、FreeBSD、macOS 和 Solaris 上控制进程,另有 GDB stub 和 VMware 后端。

二进制 · 固件完整条目

radare2 官方的脚本接口,同一仓库内收录了二十多种语言的实现。所有绑定都向 radare2 发送命令字符串并返回其文本输出,这正是 r_core_cmd_str() 背后的设计;README 建议请求 JSON 输出并将其解码为本地语言对象,而不是直接调用 C API。绑定可经由从 r2 内部运行脚本时的 R2PIPE_IN/R2PIPE_OUT 管道、新启动的 r2 -q0 进程、TCP、HTTP 或 radare2 自有的 RAP 协议连接,其中许多支持异步调用;r2pipe 脚本还可用于实现反汇编器、IO 后端或 ESIL 系统调用处理器等 radare2 插件。

二进制完整条目

Galois 开发的命令行工具、Ghidra 插件和 Haskell 库,借助欠约束符号执行检查二进制程序的性质。它把 AArch32、PowerPC 或 x86_64 的 ELF 可执行文件和共享对象(或 LLVM bitcode)转换为控制流图,从所有寄存器均为符号值的状态模拟每个函数,并在发生越界访问后逐步扩充推断出的内存布局,最终报告除零、非法内存访问等可能的未定义行为,并给出具体化的参数。内置覆盖(override)或用户以 Crucible S 表达式语言编写的覆盖可模拟外部库函数,插件则在 Ghidra 中展示结果。

二进制完整条目

交互式终端反汇编器,旧名 Reverse,支持 x86 与 x86-64,并部分支持 ARM 和 MIPS/MIPS64,可读取 ELF、PE 和原始二进制。其可视化模式以缩进、着色的伪代码显示函数,分析者可通过反转条件跳转来调整控制流;Python API 可运行脚本,用于提取字符串、生成交叉引用调用图、检测加密常量以及调用 Keystone 汇编。项目自 2019 年起停止开发,仓库没有发布版本。

二进制完整条目

Derek Selander 编写的 macOS 命令行工具,通过 Apple 的私有 MobileDevice 框架检查和控制经 USB 或 Wi-Fi 连接的 iOS 设备。它可列出设备和已安装应用及其 Info.plist 键值与权限(entitlements),实时输出设备控制台日志,获取崩溃日志,查看描述文件和开发者证书,在沙盒允许时把应用的数据容器拷出设备并传回,还能安装、卸载应用,并带参数和环境变量启动应用。挂载开发者磁盘映像(DDI)后,还能列出和结束进程、模拟定位;输出可按 plist 格式打印,便于脚本处理。

horsicq 开发的基于 Qt 的 PE 文件查看与编辑工具,支持 Windows、Linux 和 macOS;作者也是本目录所收录 Detect It Easy 的作者。其 PE 视图可解析 DOS 头、NT 头和可选头、节区、普通导入、延迟加载导入和绑定导入、导出、资源(包括清单、版本信息和字符串表)、重定位、TLS 回调、异常、调试和加载配置数据、证书、Rich 头以及 .NET 元数据表。另有十六进制、反汇编、字符串、熵、哈希、内存映射和提取器视图,并集成 Detect It Easy、Nauz File Detector 和 YARA 扫描,以及可选的 VirusTotal 查询。

二进制完整条目

Ruben Boonen 开发的 Electron 桌面应用,把 frida-node 和 Monaco 编辑器整合到同一个窗口中,用于编写、注入和反复调整 Frida 脚本。编辑器提供代码检查、IntelliSense 和 Frida API 类型定义;设备菜单可连接本地、USB 和远程 Frida 服务端,附加到进程或启动新进程;脚本可用快捷键在目标中重新加载,输出显示在代码旁边。原型阶段的 CALL 追踪器从选定的指针或模块符号开始,跟踪线程发出的每一次调用直至返回,并将结果渲染为 Graphviz SVG 图;应用还内置了 Frida JavaScript API 文档。

应用 · 二进制完整条目

Mandiant FLARE 团队开发的 Ghidra 扩展,借助 Jep 把用户本机的 CPython 3 解释器嵌入 Ghidra,作为 Ghidra 基于 Jython 的 Python 2.7 脚本支持之外的选择。它提供交互式 Python 3 解释器窗口,可在脚本管理器中编写和运行 Python 3 脚本,也可在无界面的 analyzeHeadless 运行中执行 Python 3 后处理脚本;currentProgram() 等 GhidraScript 状态和 FlatProgramAPI 方法以 Python 内置名称的形式提供。由于直接使用所配置的解释器或虚拟环境,脚本可以导入其中已安装的包;README 以 capa、Unicorn 和 angr 为开发动机举例,并演示在 Ghidra 内用 Unicorn 模拟执行 ARM 代码。

二进制完整条目

轻量级的 x86/AMD64 C 语言反汇编库,README 称其为“分解器”:除格式化文本外,distorm_decompose 还会为每条指令返回一个二进制结构,描述其操作码、操作数、前缀、控制流类别,并可选地给出受影响的 CPU 标志位。它可解码 16、32 和 64 位代码,可在遇到调用、返回、分支、中断或特权指令时停止,其生成的指令表涵盖整数、x87、MMX、3DNow!、SSE 至 SSE4.2 和 SSE4a、AVX、FMA、AES、CLMUL、VMX 及 SVM 指令集。仓库还包含 distorm3 Python 模块,以及 Java 和 .NET 的示例封装和面向 Linux、Win32 及 Windows 内核驱动的示例程序。

二进制完整条目

面向 Android 5.0 的 Java 方法动态插桩工具包,让分析人员在没有应用源码的情况下自行编写跟踪和性能分析工具。启动器通过 ptrace 把原生引擎库和用户构建的插桩 APK 注入新启动的目标应用;插桩工具继承 Instrument API,钩挂系统框架或应用自定义的 Java 方法,查看或修改其参数与返回值。README 的演示使用示例工具,记录经 StringBuilder 和 StringBuffer 构造的字符串,以及应用启动的 Activity 和 Service。

一个小型 Python 命令行工具,通过 Frida 附加到正在运行的进程,把其中可访问的内存区域写入文件;可在 Windows、Linux 或 macOS 主机上运行,面向 iOS、Android 或 Windows 应用。默认只保存可读写的内存区域,-r 会连同只读区域一并保存;超过大小上限(默认 20 MiB,可用 --max-size 调整)的区域会拆分成多块;-s 会对所有转储文件做一遍简单的字符串提取,把可打印文本汇总到 strings.txt。其 README 称该工具主要面向渗透测试人员和开发者。

应用 · 二进制完整条目

基于 GoRE 库的命令行工具,可从 Go 编译器生成、已剥离符号的二进制文件中恢复元数据。它能报告编译器版本、构建 ID、GOROOT、main 包路径和 Go 模块信息;列出项目包、标准库包和 vendor 包;把接口、结构体及其方法输出为 Go 类型声明;并按包、文件和函数推测源码树布局,估计各函数的行号范围。通过 r2pipe 在 radare2 中运行时,它会为函数和类型添加标记,并分析 main.init 与 main.main。

二进制完整条目

为 Ghidra 增加 nanoMIPS 反汇编和反编译能力的处理器模块,以 SLEIGH 规范描述小端 32 位 nanoMIPS 指令集,包括其多线程指令。NCC Group 的发布文章称,该模块是在逆向分析 MediaTek 5G 基带固件时编写的,实现了该固件中遇到的指令,部分复杂 P-Code 仿真尚未实现,但已能反编译团队分析过的大部分基带代码。

二进制 · 固件完整条目

基于 Capstone 的 Python 递归反汇编库,借助 x86/x64、AArch64、32 位 ARM/Thumb、CIL 和 Dalvik 后端,从 PE、ELF、Mach-O 文件、.NET 程序集、原始 DEX 文件以及已知基址的内存转储中恢复控制流图。其 JSON 报告列出函数、基本块、指令及其间的边,并补充来自导入表、导出表、PDB、Go、Rust 与 Delphi 元数据的符号、被引用的字符串、用 ApiScout 方法推断的 Windows API 引用以及位置无关代码哈希。函数发现有意以完整性优先于精确性;README 称 SMDA 是 capa 的反汇编后端和 MCRIT 的代码分析层,IDA Pro 或 Binary Ninja 的分析结果也可导出为同一报告格式。

二进制完整条目

供 Frida 代理脚本使用的 JavaScript 库,按声明式描述跟踪原生函数:每个函数都列出返回类型及输入、输出参数,参数类型包括指针、UTF-8 与 UTF-16 字符串,以及长度绑定到其他参数或返回值的字节数组,还可设置条件,例如仅在调用成功时读取输出指针。它从模块导出表或虚函数表解析函数,挂接 Frida 的 Interceptor,并为每次调用向回调传递一个事件。同一仓库中的辅助脚本可借助 libclang 从 C 头文件生成跟踪样板代码。

应用 · 二进制完整条目

USENIX Security 2023 论文《Decompiling x86 Deep Neural Network Executables》的研究产物。BTD 将 DNN 编译器 TVM、Glow 和 NNFusion 生成的 x86 可执行文件反编译为模型规格:算子类型、网络拓扑、维度以及权重和偏置等参数。它把 IDA 的反汇编结果拆分为函数,用基于汇编词元训练的分类器推断每个算子的类型,用 Intel Pin 记录执行轨迹并经污点分析过滤,借助基于轨迹的符号执行引擎恢复维度和参数,最后在 PyTorch 中重建模型,并将其输出与原可执行文件对比。

二进制完整条目

SourceForge 上 Boomerang 项目的分支,是一款通用的机器码反编译器,可将可执行文件转换为 C 代码。README 列出的支持范围为 ELF、PE、DOS MZ、DOS/4GW LE 和 Mach-O 文件中的 x86(仅 IA-32)、PowerPC 和 ST20 代码;指令语义由 SSL 规格文件定义,库函数签名文件以及 printf、scanf 类格式字符串可辅助恢复类型。它提供 boomerang-cli 命令行工具和基于 Qt 的 boomerang-gui 图形界面,并附有单元、回归和重编译测试套件。

二进制完整条目

纯 Python 编写的 Mach-O 与 Objective-C 静态分析工具包,可作为 ktool 命令行、终端浏览界面(ktool open)或程序库使用,没有需要编译的依赖。其命令可列出加载命令、链接库、符号表、导入与导出符号、Objective-C 类和协议、Swift 类型、函数起始地址以及代码签名权限(entitlements),并可导出重建的 Objective-C 头文件或 .tbd 存根。它还能列出并提取内核缓存中的 kext,拆分和合并 fat 二进制文件,修改安装名并插入加载命令。

应用 · 二进制完整条目

由 Federico Dotta 和 Piergiovanni Cipolloni 开发的 Burp Suite 扩展,在 Burp 与 Frida 之间架起桥梁,让分析者直接调用应用自身的函数处理它与后端交换的 HTTP 消息,而不必重新实现其中的加密、编码或签名逻辑。图形化插件引擎把 Frida 导出函数接入 Burp:既可在所有 Burp 工具中处理请求和响应,也可通过自定义消息编辑标签页、右键菜单项和按钮调用;Generate Stubs 工具还能为外部 Burp 扩展生成 Java 或 Python 代码。分析标签页以树形展示应用的 Java 和 Objective-C 类、方法以及导入导出,可从中添加挂钩,记录参数和返回值,或替换返回值;内置编辑器用于编写分析者自己的 Frida 导出函数。

应用 · 协议完整条目

一体化恶意软件初筛工具,可对 Windows PE、Linux ELF(含 Go 二进制)、macOS Mach-O 和 Android APK、JAR、DEX 文件,以及 Office 与 PDF 文档、脚本、快捷方式、压缩包、电子邮件和 PCAP 做静态分析,报告导入表与 API 分类、节区、字符串与 IOC、加壳器、内嵌可执行文件、Android 权限风险和 YARA 匹配,并为 Windows 与 Linux 程序给出 MITRE ATT&CK 映射。VBA/VBScript、JavaScript 和 PowerShell 交由有界的内存内模拟器处理,而不会真正执行;--watch 模式可监视 Windows、Linux 和 Android 上运行中的进程。分析功能可通过命令行、Flask 网页界面和 MCP 服务器调用,还可选择用大语言模型总结 JSON 报告。

应用 · 二进制完整条目

基于 Frida 的框架,由 Nishant Das Patnaik 开发,曾在 2016 年 Black Hat Arsenal 展示,用于观察 macOS、iOS 和 Android 原生应用发起的系统 API 调用。其 Sniffer 组件可附加到应用或启动应用,加载内置脚本库中的挂钩脚本(涵盖加密、钥匙串、文件、SQLite、HTTP、IPC 和 WebView 等方面),并把每次截获的调用记录到按应用划分的 SQLite 数据库中,由本地 Flask 网页界面展示。其他组件可追踪 Android 应用中的 Java 类、方法及参数类型,并可把 IPA 或 APK 与 Frida Gadget 一起重新打包,以便在未越狱或未 root 的设备上进行检查。

Airbus CERT 开发的插件,把 Ghidra 的原生反编译器嵌入 IDA Pro 和 IDA Free:在函数上按 F3 即可在 IDA 中查看 Ghidra 生成的 C 代码,在其中所做的修改(包括函数原型等全局符号,以及栈变量和寄存器变量的名称与类型)会保存到 IDA 数据库。README 列出已支持 x86、x86-64、ARM、AArch64、PowerPC、MIPS、SPARC、AVR8、6502、Z80 和 eBPF,而 Dalvik、JVM、RISC-V、68000 等其他 Ghidra 处理器尚未启用。

二进制完整条目

Marco Ivaldi(raptor)编写的 Frida JavaScript 插桩脚本集,用于逆向移动应用和 Linux 程序。主力 Android 与 iOS 追踪脚本按名称、通配符或正则表达式挂钩 Java 或 Objective-C 的类与方法,并通过 exports:*!open* 等 Frida ApiResolver 模式匹配原生函数,记录每次调用的参数与返回值,并可输出调用栈。配套脚本可枚举已加载的类与方法;另有一对 Linux 脚本用于追踪并枚举 ELF 二进制文件及其共享库中的函数。

应用 · 二进制完整条目

Windows 进程查看与系统检查工具,前身为 Process Hacker,用于检查运行中的程序及其所在的系统环境。它以高亮方式概览系统活动,可在各进程的句柄和已加载 DLL 中搜索,找出正在占用某个文件的进程,显示活动网络连接和实时磁盘访问,查看支持内核模式、WOW64 和 .NET 的详细调用栈,并能创建、编辑和控制服务。4.0 版新增 Process Monitor,借助内核驱动实时记录进程、线程、映像、注册表、文件、句柄和 silo 事件;插件还提供 .NET 程序集与性能页、窗口浏览器和 Hybrid Analysis 在线查询。

二进制完整条目

GCHQ 开发的浏览器端数据处理工具,把多个操作串成“配方”(recipe),对数据进行解码、解密、解压、解析和提取,所有处理都在本地浏览器中完成。所固定版本的操作目录列出 506 个操作,包括 XOR 暴力破解、AES/DES/Blowfish 解密、x86 与 ARM 反汇编、ELF 信息解析、文件类型识别、文件提取、熵与字符串分析、YARA 规则匹配、Protobuf 解码,以及以太网帧和 IPv4、TCP、UDP 报头解析。Magic 操作会尝试自动识别多层嵌套编码;在配方中设置断点后,可逐个操作执行,查看数据在每一步的变化。

二进制 · 协议完整条目

VirusTotal 推出的模式匹配工具,用规则识别和归类恶意软件样本等文件;每条规则由文本、十六进制和正则表达式字符串加一个布尔条件组成。可通过命令行、libyara C API 或 Python 扩展 yara-python 扫描单个文件、文件夹或运行中的进程。各模块向规则提供解析后的结构信息:pe 和 elf 模块提供 PE 与 ELF 头部的大部分字段,dotnet 模块提供 .NET 元数据,math 模块提供熵等计算,可选的 magic 和 cuckoo 模块则提供 libmagic 文件类型和 Cuckoo 沙箱行为报告数据。

二进制完整条目

集内存扫描、调试、反汇编和汇编于一体的工具,用于检查和修改运行中的游戏及其他应用;README 称其为专注于游戏和应用改造(仅供个人使用)的开发环境。项目网站列出的功能包括:快速扫描游戏所用变量的内存扫描器,以及调试器、反汇编器、汇编器、变速(speedhack)、修改器(trainer)制作、Direct3D 操控和系统检查工具;README 中的构建说明还提到 Mono、.NET 和 Java 运行时检查、VEH 调试器接口、在脚本中嵌入 Lua 与 C 代码,以及可选的内核模式驱动。

二进制 · 游戏完整条目

调用 Sysinternals Process Monitor 记录程序运行时行为的 Python 脚本,会滤除常规系统活动,并生成文本报告,列出程序创建的进程及其文件、注册表和网络活动。它可以当作轻量级恶意软件沙箱使用,也能在分析人员手动运行样本时记录事件,例如样本需要特定命令行参数、需要用户交互,或在调试器中单步执行时。新建的文件可用 YARA 规则扫描,其哈希值可在 VirusTotal 上查询。2.1.0 版新增 DLL 加载监控、ASCII 进程树和 JSON 输出;NoribenSandbox.py 可在客户机虚拟机中自动完成分析流程。

二进制完整条目

机器级与用户态模拟器,借助 TCG 动态翻译,在一种 CPU 架构上运行为另一种架构编译的代码。系统模拟可完整模拟一台机器,例如在 x86_64 PC 上运行 ARMv7 开发板;用户态模拟则通过转换系统调用,直接运行为其他 ABI 编译的 Linux 或 BSD 程序。在分析方面,gdbstub 允许用 GDB 暂停客户机、查看寄存器和内存、设置断点与观察点;TCG 插件能以被动方式插桩,粒度可细到单条指令和每次内存访问(自带示例可统计指令数、跟踪系统调用和记录执行过程);系统模拟还支持确定性执行,便于录制/回放调试。

二进制 · 固件完整条目

开源的 macOS 十六进制编辑器,无需把文件载入内存即可查看和编辑任意大小的二进制文件。它支持插入与删除字节和快速搜索,数据检查器可按有符号或无符号、大端或小端解读整数和浮点数。通过 File > Compare 可比较两个文件,并考虑插入或删除字节带来的偏移;用 Tcl 编写的二进制模板会在字节旁显示文件结构,自带模板涵盖 COFF、ELF、Mach-O 和 MS-DOS EXE 文件头、6502 反汇编、Commodore 64 PRG 文件,以及压缩包、文件系统、分区表和媒体格式。其十六进制视图和数据视图还以可嵌入框架的形式提供。

二进制完整条目

面向 32 位和 64 位 Windows 程序的用户态(ring 3)反反调试库,通过挂钩系统函数,让被调试程序察觉不到调试器。其文档逐项说明各个选项:处理 BeingDebugged、NtGlobalFlag 和堆标志等 PEB 调试标志,应对借助 ThreadHideFromDebugger 隐藏的线程,在窗口查询和进程列表中隐藏调试器的窗口与进程,应对以无效句柄调用 NtClose 的检测,以及输入屏蔽、计时检测、硬件断点检测和基于异常的检测;附加选项可注入 DLL、阻止创建线程,并转储以 RunPE 方式启动的进程。它以插件形式集成到 x64dbg、OllyDbg v1/v2、IDA 和 TitanEngine,也可用独立的 InjectorCLI 把钩子库注入到任意调试器下的进程。

二进制完整条目

VirusTotal 用 Rust 重写的 YARA,以模式匹配规则识别和归类文件。它的目标是取代 YARA,提供更详细的错误报告、更快的正则表达式与十六进制模式匹配,以及功能更强的命令行。规则沿用 YARA 的语法,即文本、十六进制和正则表达式模式加布尔条件;各模块可解析 PE、ELF、Mach-O、.NET、Android DEX、Chrome CRX 和 Windows LNK 文件。命令行无需任何规则即可把模块的解析结果输出为 JSON 或 YAML,因此也能当作文件结构剖析工具使用。项目提供 Rust、C、Go 和 Python API、规则格式化工具,以及带 Visual Studio Code 扩展的语言服务器。

二进制完整条目

用于重建运行中 x86 或 x64 进程内类与数据结构的内存结构编辑器,是 ReClass 移植到 .NET 平台并大量扩展后的版本。使用者把内存布局成带类型的节点,如整数、浮点数、向量与矩阵、文本、指针、数组、联合体、虚函数表和函数指针,可自动剖析节点、高亮变化的内存、读取 PDB 调试符号中的类型和 RTTI 类名,再根据结果生成 C++ 或 C# 代码。它还提供内存查看器和扫描器、模块与节区转储、可找出哪些代码写入或访问某个地址的调试器,以及能提供其他内存访问方式或游戏专用类信息(例如 Frostbite 游戏)的插件。

二进制 · 游戏完整条目

基于 Keystone 汇编引擎的 IDA Pro 插件:可直接输入汇编指令修补二进制文件,用指令或原始字节填充一段地址范围,并在已加载的二进制文件中搜索汇编指令。它支持 Arm、Arm64、Hexagon、MIPS、PowerPC、SPARC、SystemZ 以及 16/32/64 位 x86,输入时即时显示编码,可用 NOP 填充到下一条指令边界,在 IDA 注释中保留原指令,并可撤销上一次修补。

二进制完整条目

基于 Qt 的图形化调试器,受 OllyDbg 启发,支持 AArch32、x86 和 x86-64 程序,目前只正式支持 Linux。界面可停靠反汇编、寄存器、栈和数据视图,并提供内存区域窗口、附加到进程、符号支持、表达式语法,以及类似 IDA Pro 的分析条;默认插件包括 Analyzer、Assembler、BinarySearcher、BreakpointManager、FunctionFinder、HardwareBreakpoints、HeapAnalyzer、OpcodeSearcher、ROPTool 和 SymbolViewer。

二进制完整条目

Google 开源的二进制分析 IDE,可查看、浏览、编辑和注释反汇编代码的控制流图与调用图。它还能收集并合并执行跟踪,帮助分析团队共同跟踪分析结果。反汇编数据由随附的 IDA Pro 导出插件写入 PostgreSQL 数据库,BinNavi 用该数据库存储反汇编、注释和跟踪记录;README 指出目前还没有面向其他反汇编器的导出工具。

二进制完整条目

Mandiant FLARE 团队的 Python 库,把 IDA Pro、Rizin 或 Radare2 与 Unicorn 模拟器结合起来,让分析人员能以脚本方式模拟执行正在分析的二进制代码,支持 32/64 位 x86、ARM 和 ARM64。它提供的接口可在指定寄存器和栈值下模拟一段指令或一个函数,强制走到目标地址或某函数全部交叉引用所需的分支,遍历函数的所有路径,单独运行一段字节,或从某个地址一直模拟到没有代码可执行为止,并支持指令级和调用级钩子。README 中的常见用法是在每个调用点模拟恶意软件的字符串解密函数,并把解密结果写成注释。

二进制完整条目

Hex-Rays 推出的商业交互式反汇编器、反编译器与调试器,可将 70 多个处理器家族的已编译代码转为带注释和交叉引用的汇编代码及反编译伪代码。其 15 款反编译器覆盖 32 位与 64 位的 x86、ARM、MIPS、PowerPC 和 RISC-V,以及 ARC、V850、TriCore、Hexagon 和 Android DEX;其中 Dalvik、TriCore 和 Hexagon 反编译器为 IDA 9.5 新增,Dalvik 反编译器可把 DEX 字节码还原为 Java 伪代码。文档列出的加载器支持 PE、ELF、Mach-O(含 Apple dyld 共享缓存和 kernelcache)、DEX、UEFI 固件镜像、WebAssembly 模块,以及 Xbox XBE、N64、SNES ROM 和 PlayStation PSX 可执行文件等游戏机格式;处理器列表也涵盖从 NES、Game Boy 到 PlayStation 3 的 Cell、Xbox 360 的 Xenon 和 PSP 的 Allegrex 等游戏机 CPU。调试器既可本地调试,也可通过远程调试服务器调试 Windows、Linux、macOS 和 Android 目标;分析可用 IDAPython、IDC 和 C++ SDK 编写脚本,借助 idalib 库在无图形界面的环境中运行,或通过 IDA MCP 交由 MCP 客户端驱动。

应用 · 二进制 · 固件 · 游戏完整条目

Vector 35 推出的商业交互式反汇编器、反编译器与调试器,其反编译器建立在 BNIL 中间语言家族之上,可为所有官方支持的架构输出 C 或 BNIL。视版本不同,它可反编译 x86/x86-64、ARMv7/Thumb2、AArch64、PowerPC、MIPS、RISC-V、MSP430、6502、nanoMIPS、TriCore、C-SKY、M·CORE、Hexagon、NDS32 和 TMS320C6x,并能加载原始二进制以及 PE/COFF、ELF、Mach-O、TE、Intel HEX、Motorola S-Record、TI-TXT、MD1ROM 和 VxWorks 文件。C++、Python 和 Rust API 可在界面内外自动化分析;开源调试器可在 Windows、Linux 和 macOS 上本地或远程调试,也能连接 GDB、LLDB 和 iOS debugserver 目标;补丁可通过直接修改汇编、十六进制编辑器或内置的 SCC 编译器完成;6.0 版还加入了 MCP 服务器。Ultimate 版另含面向嵌入式固件的 Firmware Ninja,可按熵值识别代码与数据区域并检测对内存映射 I/O 的访问;EFI Resolver 工作流则为 UEFI 的 PEI、DXE 和 SMM 模块中的协议调用补全类型信息。

二进制 · 固件完整条目

Cryptic Apps 推出的商业反汇编器、反编译器与调试器,运行于 macOS 和 Linux,可读取面向 32/64 位 Intel、ARMv6、ARMv7、ARM64 和 PowerPC 处理器构建的 Mach-O(macOS 与 iOS)、PE 和 ELF 可执行文件。每个函数都能以汇编、可导出为 PDF 的交互式控制流图或类 C 伪代码呈现,并能还原 Swift 修饰名、提取 Objective-C 选择器与消息;还可通过十六进制编辑器、内置汇编器或 Python 修改二进制。调试 Mac 应用时可使用 LLDB 或 GDB;Python 脚本可调用大部分功能,SDK 可扩展文件格式解析器和 CPU 后端;Hopper 6 推出了新的反编译器以及供大语言模型客户端使用的 MCP 服务器。

应用 · 二进制完整条目

微软的 WinDbg 调试器及 Debugging Tools for Windows 工具包,文档发布于 Microsoft Learn,用于调试运行中的用户态和内核态代码、分析崩溃转储,以及检查 CPU 寄存器和内存。当前的 WinDbg 应用沿用 WinDbg (Classic) 的调试引擎、命令和扩展,并新增时间旅行调试(Time Travel Debugging,可录制用户态进程并向前、向后回放)、JavaScript 与 NatVis 脚本和 Linux ELF 转储分析;自 1.2610.1001.0 版起还提供面向受支持 AI 客户端的 WinDbg MCP。

二进制完整条目

SweetScape Software 推出的商业十六进制与文本编辑器,其 Binary Templates 采用类似 C/C++ 结构体、可含控制流语句和函数的写法,将二进制文件解析为可编辑的层级结构。模板可在打开文件时自动运行,并能通过在线仓库分享;语法类似 C/C++ 的脚本可自动完成编辑和批处理;工具还包括基于 Capstone、支持 x86、ARM、MIPS、PowerPC 等架构的反汇编器、逐字节比较、校验和与哈希计算,以及磁盘和 Windows 进程内存编辑。

二进制完整条目

Winitor 推出的 Windows 恶意软件初步评估工具,以静态方式检查 Windows 可执行文件,报告硬编码的 URL 和 IP 地址、被标记的导入函数、资源及附加数据(overlay)等关键指标。免费的基础版还能识别文件签名、调试信息和 TLS 回调,计算熵值与 imphash,显示 rich header 和 .NET 元数据,并凭哈希查询 VirusTotal 评分;pestudio-pro 另提供 MITRE ATT&CK 映射、XML 报告和命令行版本 pestudiox.exe。

二进制完整条目

面向 Windows 的 32 位汇编级分析型调试器,侧重二进制代码分析,适用于没有源码的程序;其网站称开发已冻结,列出的最新版本是 2013 年 9 月 27 日发布的 2.01。它能识别过程、循环、API 调用、switch 结构、表、常量和字符串,解码对 1900 多个标准 API 和 400 个 C 函数的调用;还可附加到运行中的程序、直接调试 DLL,设置条件、日志、内存和硬件断点,并把补丁写回可执行文件。

二进制完整条目

用于浏览二进制程序执行跟踪的 IDA Pro 插件:载入外部录制的跟踪后,分析人员可沿时间轴向前或向后单步,反汇编视图会标出前后两个方向的执行流。执行断点、内存断点和区域断点可在跟踪时间轴上标出某条指令的每次执行,或某个地址、某段内存的每次读写;寄存器回溯可直接跳到设置该寄存器当前值的指令;时间戳命令行可跳转到跟踪中的指定位置或百分比处。

二进制完整条目

IDA Pro 插件,用 YARA 规则在已加载的数据库中扫描密码学常量等特征,在结果窗口中列出匹配项,并按规则名为每个匹配地址命名。随附的 findcrypt3.rules 包含 126 条规则,涵盖 MD5、SHA-1、SHA-256、SHA-512、RIPEMD-160、Whirlpool、DES、Blowfish、RC6、TEA 和 CRC32 等哈希、加密与校验算法的常量和查找表,大数与素数常量,加密 API 名称,以及 OpenSSL、Crypto++、MIRACL 和 FGint 等库中的函数;用户还可添加自己的 .rules 文件。

二进制完整条目

为 IDA Pro 调试器新增寄存器视图和栈视图的插件,视图中会显示解引用后的指针并加以着色,效果类似 PEDA、GEF、pwndbg 等 GDB 插件的上下文显示。它支持 x86、x86-64、ARM、ARM64、MIPS32 和 MIPS64;两个视图可从 Debugger > Debugger Windows 菜单或用 Alt-Shift-D、Alt-Shift-E 快捷键打开,保存桌面布局后,之后的调试会话会自动重新打开它们。

二进制完整条目

一组 IDAPython 脚本,通过对反编译得到的 ctree 运行用户编写的 lambda 查询,在 Hex-Rays 反编译输出中查找代码模式,与二进制文件的处理器架构无关。查询可在 IDA 内的 hxtb-shell 图形界面中运行,也可在 IDAPython 中通过 find_expr()、find_item() 等函数调用,或借助交互式命令行辅助函数运行,还能以批处理方式对一组文件执行。README 列出的用途包括查找漏洞及其变种、在新反编译的代码中定位此前逆向过的程序里的代码模式、恶意软件变种分析,以及在为不同架构编译的二进制文件之间查找相同模式。

二进制完整条目

在 IDA Pro 中重建 C++ 虚函数表的 IDAPython 工具,适用于 32/64 位 Intel 和 AArch64 代码,通过在 IDA 调试器中运行程序并观察间接调用来完成。静态部分负责找出间接调用,并用条件断点挂钩其调用目标的赋值;断点命中后,动态部分会创建虚表结构体、重命名虚表和虚函数、为调用指令加上结构体偏移,并从每个间接调用添加指向其实际调用的虚函数的交叉引用;对 AArch64 固件,它还会尝试修复未定义的虚表及相关函数。

二进制 · 固件完整条目

x64dbg 插件,为被调试的 x86 或 x64 可执行文件的静态代码添加函数调用、参数和循环分析注释。它依据覆盖近 200 个 DLL、超过 13,000 个 API 的定义补充参数和类型信息,对未定义的调用和基于寄存器的调用做通用处理,并自动识别循环。分析可通过菜单或 xanal 命令作用于选中范围、单个函数或整个模块,也可像 OllyDbg 的初始分析那样在到达入口点时自动执行;用户还可以自行扩充其 .api 定义文件和头文件。

二进制完整条目

可扩展的 Python 调试器界面工具包,能为 LLDB、GDB、VDB 和 WinDbg/CDB 会话附加实用视图。每个视图从调试器宿主获取数据,并可在单独的终端中运行,使用者可借此组合出自己的调试界面;内置视图涵盖寄存器、反汇编、栈、内存、断点和调用栈回溯,任意调试器命令都能拆分成独立视图,并用指定的 Pygments 词法分析器高亮显示。这些视图是对调试器命令行的补充,而不是替代。

二进制完整条目

静态二进制翻译库,可把 AArch64、SPARC32、SPARC64、x86 和 amd64 机器码(包括 AVX 与 AVX512 指令)提升为 LLVM bitcode,AArch32 支持正在开发中。它专注于准确提升单条指令,定位是供 McSema 等其他工具调用的库;文档逐步介绍了一条指令如何被提升、如何实现指令语义以及整体设计。

二进制完整条目

用于在 IDA 伪代码窗口中浏览和重建 C++ 代码的 Hex-Rays 反编译器插件。它能根据选中的指针变量重建 C++ 对象类型并存入 IDA 本地类型,识别虚函数表并为其生成结构体,在对象类型确定后可直接点击跳转到虚函数调用,以图形方式展示函数的 ctree,从伪代码行跳转到对应的反汇编,并把 ctree 和类型导出到文件。其 Object Explorer 可列出虚表及其交叉引用并解析 RTTI,批处理模式可在无人干预的情况下处理大量文件。

二进制完整条目

rust-deobf 分析以 Rust 为主的 ELF、PE 和 Mach-O 二进制文件,恢复隐藏字符串及相关信息。工具结合静态调用点分析与 Unicorn 函数仿真,还可识别 Rust 元数据和库函数、处理打包样本并为 Ghidra 添加注释。核心功能提供命令行和 MCP 接口;更深入的控制流及虚拟化模块另有许可。

二进制完整条目

固件与硬件

89 项资源

全部分类

149 项带“固件”标签 · 查看全部 149 项 →

案例

19 个案例

为 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 提供温控和诊断信息。协议文档记录了通过设备观察确定的帧结构、校验和、总线角色及命令与状态的交互行为。

固件 · 协议完整条目

工具、项目与集成

70 项资源

面向 Apple 固件研究与逆向工程的命令行工具包。可下载并解包 IPSW、OTA 和 KDK 并比较不同构建;检查 Mach-O 的加载命令、符号、签名和权限,并反汇编 ARM64 代码;在 dyld 共享缓存中查找符号和交叉引用、提取 dylib、导出 Objective-C 头文件并查看 Swift 元数据;提取 KEXT 并比较 kernelcache;还能解析 IMG4、解密 AEA 归档,以及检查 iBoot 和协处理器固件。

应用 · 二进制 · 固件完整条目

由 EURECOM S3 小组开发的 Python 框架,可协调模拟器、调试器和物理设备,对嵌入式固件进行动态分析。分析脚本先声明目标(如修改版 QEMU、PANDA、Unicorn、gdbserver,或 OpenOCD、J-Link 调试探针),再定义内存布局(其中的内存区间可把访问从一个目标转发到另一个目标)和执行计划。执行过程以及寄存器、内存状态可在目标之间转移,从而让固件在模拟器中运行,同时把外设访问转发给真实设备。

用于自动化 UEFI 固件静态分析的 IDA Pro 插件与加载器。插件可标注 Boot、Runtime、SMM 和 PEI 服务调用,列出模块安装或使用的 EFI 协议与已知 GUID,在 Hex-Rays 反编译器中应用协议接口类型,标记疑似 SMM callout 及 GetVariable 越界写入模式供人工复核,并保存 JSON 报告。efiXloader 加载模块可在单个 IDA 数据库中打开整个固件镜像,提供各驱动入口点、驱动间导航和 DXE 驱动依赖关系图。

通过定位并解码内嵌的 kallsyms 符号表,从 Linux 内核镜像重建带函数与变量符号、可供分析的 ELF 文件;输入可以是原始或压缩的 vmlinux、vmlinuz、zImage、bzImage 数据块,部分 Android boot.img 文件,或已去除符号的内核 ELF。工具会检测压缩格式、指令集、字节序、位宽、入口点和近似基址,并生成可在 IDA Pro 或 Ghidra 中分析的 ELF;另附列出符号的 kallsyms-finder、独立解压工具和 GTK 图形界面。

二进制 · 固件完整条目

基于逆向 Sony 数码相机而开发的 USB 工具。在受支持的机型上,它可读取相机信息,并借助 PlayMemories Camera Apps 机制安装 Android 应用;其固件更新模式和服务模式下的 shell 可转储固件、执行 Linux 命令并调整设置。仓库中的说明文档记录了 Sony 应用商店、浏览器插件与相机之间的应用安装交互过程。

固件 · 协议完整条目

对任意二进制文件(例如来历不明的固件镜像)中的 CPU 指令集进行统计识别:把字节的马尔可夫链统计与默认语料库比较,语料库涵盖数十种架构,从 6502、8051 到 ARM、MIPS、PowerPC、RISC-V、x86-64 和 WebAssembly。它先给出整个文件的匹配结果,再找出与单一架构匹配的最大数据块,并显示熵值,以便排除加密或压缩区域。可独立运行,也可作为 Python 函数或 binwalk 模块使用。

二进制 · 固件完整条目

解析 Intel 管理引擎 (CS)ME、TXE 和 SPS 固件、图形系统控制器(GSC)固件,以及与之配套的独立 PMC、PCHC、PHY 和 Option ROM 镜像,报告系列、版本、发布类型、SKU、平台、大小和健康状态。研究用参数可显示 Flash 分区表、BPDT/IFWI 和 CSE 布局表,校验 RSA 签名与校验和,并解包所支持的 CSE、GSC 代码及文件系统。附带的数据库能识别已知镜像,并报告社区固件仓库尚未收录的镜像。

平台安全评估框架(源码带有 Intel Corporation 版权声明),可在 Windows、Linux 或 UEFI Shell 中分析 PC 硬件配置、BIOS/UEFI 系统固件及平台组件。chipsec_main 运行检查模块,报告预期的保护措施是否到位,例如 BIOS 与 SPI 闪存的写保护和锁定、SMM 与 SMRR 保护、内存映射锁定及安全启动变量,结果分为 PASSED、FAILED、WARNING 和信息类,并可输出 JSON、XML 和 Markdown。chipsec_util 通过命令行和 Python 访问底层接口和固件数据,包括将 SPI 闪存转储为镜像、把闪存镜像解析为固件卷、文件和 NVRAM 变量,以及列出 UEFI 变量和表。

Quarkslab 开发的命令行工具,通过对内容做简单统计来推断无文件头原始固件镜像的基本属性,因此 README 称其适用于所有架构。它根据指针宽度数值的高位字节在两种字节序下的聚集程度推测端序,并按候选加载地址(基址)下有多少数值会指向已索引的文本字符串和指针数组,对候选地址排序。给定基址后,它还能在汽车 ECU 固件中查找统一诊断服务(UDS)命令 ID 表,并输出推断出的结构体布局,供反汇编器使用。

Asahi Linux 面向 Apple Silicon Mac 的引导程序与硬件研究环境。它将 Apple 的启动链衔接到 Linux,加载附加在其后的设备树、initramfs 和内核;在代理模式下,Python 客户端可通过 USB 连接实时探查硬件,并在 m1n1 的虚拟机监控器中运行 macOS 或 Linux,同时追踪其硬件访问。

leveldown security 发布的 Ghidra 脚本,读取 CMSIS-SVD 文件(描述微控制器内存映射外设及其寄存器的 XML 格式),并将其应用到已载入 Ghidra 的固件上。它为外设地址范围创建内存块,为每个外设生成以寄存器为字段的结构体类型,并在各外设基址处添加标签,从而可按外设和寄存器名称阅读寄存器访问。它面向小端 Arm Cortex-M 设备,并附带一份移植到 Ghidra Jython 环境的 cmsis-svd 解析器分支。

Python 库及 uefi-firmware-parser 命令行工具,用于识别、解析和提取 PC 固件镜像:UEFI 固件卷、胶囊(capsule)、固件文件系统、文件与节(section),以及 Intel PCH Flash Descriptor、Intel ME 模块和 Dell PFS 更新包。AutoParser 可自动判断格式,暴力扫描模式则在未识别的数据块中查找固件卷及其他已知对象;结果可打印为对象层级或导出为文件,Tiano/EFI 与 LZMA 压缩的节由内置 C 扩展解压。附带的脚本可按 GUID 替换固件卷中的节或文件,根据解析出的固件卷生成 FDF 闪存描述文件,并输出供 IDA 脚本使用的 GUID 标签。

开源固件,可把 ESP32-S3 开发板变成受 Bus Pirate 启发的多协议硬件工具,通过 USB 串口终端、Wi-Fi 网页命令行,或直接用 M5 Cardputer 自带的键盘和屏幕操作。各模式可与 I2C、SPI、UART、1-Wire、CAN 等总线通信、嗅探并编写脚本,读取 EEPROM 和闪存芯片,还能扫描 JTAG 与 SWD 引脚。USB 适配器模式让 flashrom、OpenOCD、sigrok/PulseView 等主机工具把开发板当作 SPI 编程器、调试适配器或逻辑分析仪使用。

固件 · 协议完整条目

Attify 的固件安全研究工具包,第 2 版改写为以单个镜像项目为中心的 Rust 命令行工具。它可识别未知数据块和固件镜像、提取文件系统,梳理启动脚本、凭据字符串和密码学材料,借助基于 radare2 的反编译与源到汇的污点分析初筛 ELF 二进制,还能检查裸机 MCU 镜像、BMC 闪存、边缘 AI 模型文件和 Android APK。之后可对项目做运行前检查,并通过原生、FirmAE、Firmadyne 或 EMUX 后端进行 QEMU 仿真。

二进制 · 固件完整条目

以逆向 Fujifilm 相机为目标的研究代码库,使自定义代码能够在打过补丁的固件下于相机上运行。其中包括 ARM 固件补丁,最主要的是为 PTP/USB 增加内存读、写和执行命令的调试器补丁;一个通过 USB 上传代码并转储内存的主机命令行工具;以及记录 Fujifilm RTOS API 的 C 头文件,附各机型的固件地址和函数桩。相机端代码在该 RTOS 之上提供 POSIX、图形和 I/O 封装,并包含解除录像时长限制的修改、按键重映射,以及名为 Frontier 的界面与模块系统。

Digital Security 开发的 Ghidra 分析器扩展,面向单个 UEFI 模块,在自动分析带 EFI 子系统的 x86 和 x64 PE 映像时默认启用。它依据自带的数据库标注已知 GUID,从自带的数据类型归档应用 UEFI 类型,把入口点的映像句柄和系统表参数传递到被调用的函数中,并标记通过 LocateProtocol 定位或通过 InstallProtocolInterface 安装的协议、协议通知回调,以及为软件、硬件和子中断注册的 SMI 处理函数。分析结果还以 JSON 形式保存在程序中,无界面模式脚本据此按处理函数类型把 SMM 模块分到不同的项目文件夹。

针对固件中文件系统镜像的规则检查工具:读取 ext2/3/4、FAT/VFAT、SquashFS 和 UBIFS 镜像、cpio 归档或目录,并以 JSON 报告列出所有违反 TOML 配置规则的文件。规则涵盖 SUID 与全局可写文件、允许的属主、SELinux 标签与 Linux capabilities、单个文件的元数据、内容正则、SHA-256 摘要、JSON 字段,以及外部脚本(例如附带的 checksec 包装脚本);还能提取版本字符串等数值,并把文件树或指定文件与上一次运行的结果比较。Cruise 将其定位为固件安全检查流程的一环,check.py 搭配 Android OTA 解包脚本可对固件包中的每个镜像逐一运行检查。

Binarly 推出的 Python 扫描器,用 FwHunt 规则检查 UEFI 固件模块;FwHunt 是针对已知 UEFI 固件漏洞的 YAML 检测规则格式,规则本身存放在独立的 fwhunt 仓库中。其基于 rizin 的分析器可报告 PE 或 TE 模块的 Boot、Runtime 与 PEI 服务调用、协议、PPI、GUID、NVRAM 变量和 SMI 处理程序,规则将这些信息与代码模式、字符串和十六进制串组合匹配。命令行工具可分析或扫描单个模块,也可从整个固件镜像中提取模块后逐一扫描,相同的类也能作为 Python 库调用。

通过被动总线抓包重建串行闪存内容的 Python 工具:它解析 Saleae Logic 的 SPI 或 I²C 分析器导出文件(这些数据记录了设备读写自身闪存芯片的过程),并把观察到的数据按原始内存地址写入二进制镜像。它可识别 Winbond、Macronix、Spansion、GigaDevice 等厂商的 100 多条 SPI 闪存命令,目前可解析其中 12 条,能报告 JEDEC ID 读取中出现的厂商和设备 ID,还可输出命令摘要、显示已捕获地址范围的可视化分布图,并绘制读写操作的时序图。

固件 · 协议完整条目

Google 发布的 Linux 命令行工具,可从基于 Intel 平台的工作站和笔记本电脑的 SPI 闪存中读出 BIOS/UEFI 固件镜像。它以 root 权限运行,通过 PCI 识别芯片组的 LPC 桥,借助 /dev/mem 映射芯片组的根复合体寄存器,并报告读到的闪存描述符分区以及 BIOS 写保护和读保护设置。随后它通过 SPI 控制器的硬件时序读取闪存,写入单个镜像文件;README 建议再用 UEFITool 等工具进一步处理。

EMBA 固件安全扫描器的 Web 企业级界面,会安装 EMBA 并将其作为扫描后端运行。用户可在浏览器中上传固件、配置并跟踪 EMBA 扫描,查看完整的 EMBA HTML 报告和每个固件的安全概览,并在汇总仪表板中比较结果;结果按用户控制访问,也可归档隐藏。当前 main 分支还加入了用于上传、查询扫描状态和获取 SBOM 的 REST API,以及通过 SSH 将扫描分派到 EMBA 工作节点的编排器。

Maddie Stone 编写的 IDAPython 脚本集,用于在 IDA Pro 中对嵌入式设备固件镜像进行初步梳理和标注,曾于 2017 年在 RECON Montreal 和 DerbyCon 上介绍。梳理类脚本依据各架构的函数序言和尾声模式定义代码与函数,把地址范围标记为字节、字或双字,并把未探索的字节转换为字符串;分析类脚本根据已知基址解析以偏移方式进行的内存访问,并添加交叉引用和数值注释;标注类脚本列出 CPU 端口(GPIO)的使用位置,把没有交叉引用的函数标为可能的死代码,并追踪某个操作数的使用位置。Android 文件夹另有一个为原生库中的 JNIEnv 函数调用添加注释的脚本,以及一个解密经 WeddingCake 反分析外壳打包的 ARM32 库中字符串的脚本。

应用 · 固件完整条目

LinuxBoot 项目用 Go 编写的 UEFI 固件镜像解析与修改工具及库。其 utk 命令可用表格或 JSON 展示镜像中的固件卷和文件,查找、转储、插入、删除或替换文件,并把镜像解包到可重新组装的目录中,还提供用于删除多余 DXE 驱动的 DXE 清理功能。其他命令涵盖闪存布局(fmap)、coreboot CBFS、Intel FIT 表、FSP 头部、微码和 LZMA 数据;其 Go 包还能解析 Intel ME 区域、Boot Guard 与 CBnT 清单以及 AMD 固件结构。

Quarkslab 的固件“测绘”工具,将已提取的固件文件系统编入数据库,再用 NumbatUI(Quarkslab 基于 Sourcetrail 代码浏览器的分支)浏览。fs 映射器借助 LIEF 映射 ELF 和 PE 文件、其导入与导出,以及指向这些文件的符号链接;fs-cg 用 IDA Pro 或 Ghidra 反汇编每个可执行文件,并把各二进制的调用图跨文件连接起来;decomp 则为单个可执行文件的反编译函数建立索引并附调用交叉引用。JSON 导出可用 Python 进一步处理,例如比较两个固件版本的差异。

二进制 · 固件完整条目

面向 Polyend Tracker 音乐设备的 Python 逆向工程框架:为厂商原版固件打补丁,用自己的命令处理程序替换一个未使用的 USB RAWHID 处理程序。刷入打过补丁的固件后,主机命令行工具即可按 ARM 或 Thumb 模式读取、十六进制转储和反汇编设备内存,还能写入内存、在指定地址执行代码,汇编并运行称为“Polyp”的位置无关模块(如在打击垫上显示滚动文字和屏幕淡入淡出),以及通过 USB 向 SD 卡复制文件。其 fwtool.py 还可解包和重新打包 Intel HEX 格式的 .ptf 固件镜像,便于载入反汇编器。

Quarkslab 发布的 Google Pixel 手机 Titan M 安全芯片研究工具:包括用于 Titan M(Citadel)固件文件的 Ghidra 加载器;可在 Android 上跟踪并发送芯片基于 protobuf 的命令的 nosclient,内含基于 libprotobuf-mutator 的黑盒模糊测试器;sigrok SPI 抓包解析器;以及把固件镜像转换为芯片 SPI rescue 功能所用 rec 文件的脚本。仓库还收录 Black Hat Europe 2021 白皮书与幻灯片、ROOTS'21 论文和 Black Hat USA 2022 幻灯片,介绍固件逆向、嗅探芯片与应用处理器之间的 SPI 通信,以及黑盒与基于仿真的模糊测试;作者称所发现的漏洞均已向 Google 披露。

固件 · 协议完整条目

用于 UEFI 固件逆向工程的 Python 命令行工具及 IDA Pro 插件。uefi_retool.py 用 uefi-firmware-parser 解包固件镜像,收集其中的可执行模块,并以批处理模式逐一交给 IDA 分析,把各模块的引导服务调用和协议 GUID 写入 JSON;另一条命令则把 GUID 不在其 EDK2、AMI 及厂商 GUID 表中的协议列为专有协议。在 IDA 中,插件会应用 EFI 系统表的类型和名称,在浏览窗口中列出协议,并根据该 JSON 展示固件各模块之间的依赖浏览器和依赖图。

用于 IDA Pro 的加载器和后处理脚本,处理带 TOC 头的三星 Exynos“Shannon”基带调制解调器镜像,也支持崩溃转储。加载器把 TOC 条目映射为对齐的段并设置入口点;自动分析完成后,后处理程序会恢复调试跟踪结构,依据字符串和调试日志调用为函数命名,重建 MPU 表和内存映射,为 MMU 相关的协处理器指令添加注释,执行 ARM 分散加载及其解压,并标注平台抽象层与任务初始化函数。README 还附有作者对 ShannonOS、PAL 以及从 Cortex-R 转向 Cortex-A 内核的说明。

基于 Qt 的桌面编程器,通过低成本的 CH341A、CH347T 和 FT232H USB 编程器读取、写入、擦除和校验 I2C、SPI 与 MicroWire EEPROM、FeRAM、DataFlash 以及 SPI NOR/NAND 闪存芯片。它根据 JEDEC ID 在可编辑的芯片数据库中识别 SPI 闪存,显示 SFDP、状态寄存器和安全寄存器,可扫描 NAND 坏块,并把芯片镜像放在十六进制编辑缓冲区中,支持按区段保存或载入以及导入导出 Intel HEX。配套程序用于编辑芯片数据库,并从作者的网站更新数据库。

一个多线程 Rust 命令行工具,以暴力搜索推算平面 32 位固件镜像的加载基址,是 mncoppola 的 basefind.py 和 rsaxvc 的 basefind.cpp 的重新实现。它记录 ASCII 字符串的偏移,把每个 32 位字都当作可能的指针,再按候选基址能让多少字符串成为指针目标来排序。README 称这只是一个简单的启发式方法,对部分 ARM(非 Thumb)二进制效果相当好,但不会创造奇迹。

在浏览器中运行的 AMI Aptio V UEFI 固件设置菜单编辑器,作为 AMIBCP 的替代工具。它根据使用者从自己的 BIOS 镜像中取得的四个区段重建设置表单及其引用关系,并显示每个设置项的 VarStore、偏移、大小、选项、故障安全和最优默认值、访问级别以及 Suppress If 条件。对顶层菜单目标、隐藏条件、访问级别和默认值的修改会写回区段文件并附带变更日志,会话可另存为带哈希校验的 JSON;另附的 IFR-Formatter.js 脚本可将 IFRExtractor-RS 的输出整理为按设置项列出 VarStore 与偏移的清单。

为原始微控制器固件镜像套用芯片内存布局的 IDA 插件:分析者选定 MCU 型号后,它会创建 RAM 等内存段,添加带有寄存器命名的外设段,并在描述文件包含中断向量表时标注各表项,把它们指向的处理程序创建为函数。README 称其类似 IDA 内置的 SVD 加载器,但采用更简单的 JSON 描述格式,可依据公开的数据手册手工编写。所审阅提交附带 813 个描述文件,涵盖 Microchip/Atmel、ST、NXP、TI、Silicon Labs 等厂商的 MCU。

面向已解包 IoT 固件的静态分析流水线:对单个 ELF 或解包后的根文件系统,它用 Capstone 反汇编 x86、ARM/Thumb-2、AArch64 和 MIPS 二进制,恢复函数、调用图和漏洞缓解措施,并从危险函数调用、调用图污点路径、借助 cve-bin-tool 的 CVE 关联、内嵌密钥、脚本注入模式和文件系统加固检查中报告候选问题。报告以 JSON、Markdown 和 CycloneDX SBOM 输出。可选组件包括 Ghidra 无界面伪代码、基于 moria 的原始镜像解包,以及一个 Go 服务,提供任务队列、REST API、中英双语网页界面,并可由大模型智能体对已完成的扫描结果进行分诊。

二进制 · 固件完整条目

一个 Python 脚本,无需暴力枚举每个候选基址即可估算平面 32 位小端固件镜像的加载地址,在 mncoppola 的 basefind.py 和 rbasefind 的基础上改进而来。它在排序后指针值的相邻差值中,查找与一段相邻字符串偏移差值完全相同的连续序列,把每处匹配视为候选基址,再按抽样字符串在重定位后的地址同样作为指针出现的比例为其打分。README 中的示例约用 26 秒找出了一个镜像的正确基址。

Joe Grand 开发的开源硬件工具及其 Parallax Propeller 固件,用于在陌生电路板的测试点、过孔、元件焊盘或连接器中找出片上调试接口。它通过串口终端操作,用 24 路电平转换通道逐一尝试引脚排列:以 IDCODE 或 BYPASS 扫描识别 JTAG 引脚,以 IDCODE 识别 SWD 引脚,并识别 UART 引脚及其波特率。已知 JTAG 引脚后,固件还能读取器件 ID、探测指令寄存器和数据寄存器,并用 EXTEST 把芯片引脚对应到边界扫描寄存器中的位置;其他模式可透传 UART 数据、充当兼容 SUMP 的逻辑分析仪,或模拟 Bus Pirate,让 OpenOCD 把它当作 JTAG 适配器使用。

用 Python 编写的厂商 BIOS/UEFI 更新格式解析与提取工具集,共 16 个工具,涵盖 AMI BIOS Guard(PFAT)与 UCP、Dell PFS、Insyde iFlash/iFdPacker、Phoenix TDK Packer、Award、富士通、松下、Portwell、东芝和 VAIO 的更新包,以及多种 Apple EFI 容器。每个工具先判断输入是否属于其格式,再将固件组件(如 SPI/BIOS/UEFI、EC、ME 镜像)及随附的实用程序解包到输出目录,并可选输出结构信息;Apple EFI 识别工具则依据 IBIOSI 标签为镜像命名。main.py 脚本会对给定文件依次尝试所有工具,biosutilities 软件包也向 Python 程序提供同样的类。

一个 Python 脚本,通过比较字符串地址与每个可能指针的目标地址来估算固件镜像的基址,支持任意指针长度和两种字节序。它不逐个尝试基址,而是在几个两两互素的模数下用 FFT 计算互相关来衡量重叠程度,再用中国剩余定理还原基址,因此也能处理 64 位地址空间。作者有意保持代码简短,方便分析者换用自己的启发式方法,例如把绝对调用的目标与返回指令之后的位置对应起来。

用于逆向分析 iOS 与 macOS 上 Apple kernelcache 和内核扩展的 Ghidra 脚本框架。它以 Siguza 的 iometa 提取的 C++ 类信息为起点,为内核恢复符号,重建 IOKit 类层次、结构体、命名空间和带类型方法定义的虚表,并通过 arm64e 指针认证常量或基于 p-code 的数据流分析解析虚函数调用引用。其他脚本可修复 externalMethod 和 getTargetAndMethodForIndex 分派表、根据头文件应用 XNU 函数签名、传播类型、加载 KDK 的 DWARF 符号,以及在项目之间复制结构体定义。

二进制 · 固件完整条目

Tenable 发布的 Python 命令行工具,其仓库简介称之为辅助逆向 ESP32 固件的工具包:它读取 ESP32 闪存转储中的分区表,并将 factory、ota_0 等应用分区重建为 Xtensa ELF 文件。其他操作可列出分区、导出某个分区的原始字节,并将 NVS 分区的键值条目解析为文本或 JSON;create_elf 借助 esptool 载入应用镜像,把其中的闪存、DRAM 和 IRAM 段映射为 ELF 节区,并加入仓库自带 ROM 符号表中的符号。

以 FTDI FT2232H 为核心的开源硬件板卡,通过工作电压为 1.8–5.5 V 的电平转换器,把计算机连接到目标设备的 UART、SPI、I2C、JTAG 和 SWD 接口。芯片的两个端口中,一个专用于 UART,另一个由其余接口共用;拨动开关用于选择参考电压以及 SPI/JTAG 或 I2C/SWD 接线方式,逻辑分析仪排针则可让外接分析仪观察通信。Tigard 本身不带软件,而是按现有 x232H 工具的支持方式设计;README 给出了读取 SPI 闪存、用 OpenOCD 或 Black Magic Debug 进行 JTAG 调试、用 OpenOCD 进行 SWD 调试、边界扫描,以及为 iCE40 或 AVR 编程的设置方法。

固件 · 协议完整条目

读取 UBI 和 UBIFS 镜像的 Python 模块与命令行脚本,通过定位文件中首个 UBI 或 UBIFS 数据来处理镜像,也适用于原始 NAND 转储。它们可提取文件或完整的 UBI、UBIFS 镜像,列出并复制单个文件,显示 UBI 头部、卷表以及 UBIFS 的超级节点和主节点,并能在提取失败时按条件搜索物理擦除块进行调试。ubireader_utils_info 还能推算出 mtd-utils 参数,生成按相同规格重建镜像所需的 shell 脚本和配置文件。

用 Go 编写的命令行工具和库,可从 Android A/B OTA 载荷中提取分区镜像,既可读取原始 payload.bin,也可直接就地读取包含它的 OTA zip 包。它并行解压各项操作,可列出分区或只导出选定分区,并用 SHA-256 校验操作数据、源镜像和最终镜像,任何不一致都会以非零退出码结束。增量(差分)载荷会应用在先前提取的基础镜像之上,并重新生成差分载荷省略的 dm-verity 哈希树和 FEC 校验数据,因此 README 称输出可做到逐位一致。

离线运行的 C++ 扫描器,用于分析固件和物联网软件的内容,可指向单个文件或已解包的根文件系统,报告其中嵌入的机密信息、软件物料清单(SBOM)、已知 CVE、开源许可证、启动安全配置,以及强度不足或私钥已公开的密钥,每项发现都附带证据和置信度。其 SBOM 还能在已剥离符号的镜像中,从 ELF 版本标识、libc 文件名和内核标识中识别组件,并输出为 CycloneDX 和 SPDX;CVE 检查则将 SBOM 与本地的 OSV 和 NVD 镜像比对,并标注 CISA KEV 与 EPSS 信息。它本身不解包镜像,识别和提取由作者的配套工具 moria 完成。

tihmstar 开发的命令行工具和 C++ 库,用于处理 Apple 的 IMG4 固件容器格式。它可以打印 IMG4 文件、IM4P 载荷容器和 IM4M 签名清单的 ASN.1 内容,包括载荷类型、描述和密钥包(KBAG);也可从 IMG4 或 SHSH 文件中提取 IM4P 或 IM4M、从 IM4P 中提取载荷,自动解压 LZSS 或 BVX2(LZFSE)压缩数据,并在提供 IV 和密钥时解密。此外,它能根据 BuildManifest 校验 IM4M 票据或已签名的 IMG4,把 IM4M 转换为 SHSH,并为恢复工具构建或重命名容器。

协议

140 项资源

全部分类

242 项带“协议”标签 · 查看全部 242 项 →

案例

91 个案例

运行一套本地 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 转储基本解出完整红外协议的仓库。

记录 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 论文中描述了还原出的协议。

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 设置录入、验证指纹;详细的逆向研究笔记另行保存,未收入仓库。

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

工具、项目与集成

49 项资源

通用的 Python 自动机学习库,可通过主动查询或被动轨迹数据,推断黑盒系统的确定性、非确定性、随机及下推自动机模型。其 README 链接了一项独立的低功耗蓝牙(BLE)研究,该研究的仓库报告了学习得到的设备连接与传统配对(legacy pairing)状态机;该库本身不推断报文格式。

接收并解码 ISM 频段设备(如气象传感器、遥控器、门铃和报警传感器)的无线传输,可使用 RTL-SDR 或 SoapySDR 接收机,也可读取录制的 I/Q 文件,并以 JSON、CSV、MQTT 等格式输出解码字段。对内置解码器无法识别的信号,脉冲分析器会报告 OOK/FSK 时序,并给出灵活 -X 解码器的提示,用于将帧切分为比特;按其分析指南,把这些比特对应到具体数值仍需分析者依据已知读数完成。

NCC Group 推出的工具集,可在没有对应 .proto 定义的情况下解码并重新编码 Protocol Buffers 报文。解码器返回报文数据,以及根据线路类型尽力推测生成、可编辑的类型定义;分析者可以为字段命名、修正类型并重新编码修改后的报文,这是 protoc --decode_raw 做不到的。它提供 Python 库及 bbpb 命令行工具、基于 Jython 的 Burp Suite 扩展和 mitmproxy 插件,README 说明它最初用于在移动应用渗透测试中修改报文。

应用 · 协议完整条目

针对 Apple 专有 Continuity 蓝牙低功耗广播的逆向工程笔记与 Wireshark 解析器,是作者 PETS 2019 隐私研究的延续。各报文页面记录了 AirDrop、Handoff、Proximity Pairing、Nearby Info、Find My 等 14 种报文类型的字段布局和观测到的取值;解析器替换 Wireshark 的 packet-bthci_cmd.c,使捕获到的广播能解码为具名的 btcommon.apple 字段。

comma.ai 维护的 DBC 文件库,描述多个汽车品牌的 CAN 报文与信号,并附带一个依据这些定义解析和构造 CAN 报文的 Python 库;其车型移植指南要求贡献者在 cabana 工具中利用行车记录逆向分析新的报文。基于它的各品牌车型移植代码可解析车辆状态、根据 ECU 固件版本识别车型,并生成 openpilot 的转向、油门和制动报文;面向 comma panda 接口的安全代码则限制哪些报文可以发出。

基于 GNU Radio 的射频框架,可将信号从频谱巡查与检测,经 IQ 采集、检查、调理、特征提取和分类,一路带入协议发现流程。其解调工作区可为 OOK/ASK 和二进制 FSK 录制估计符号速率;比特流与成帧阶段则结合曼彻斯特或差分解码、同步模式与 CRC 证据以及重复报文检测,推断报文边界。Qt 仪表盘负责协调本地或远程的 SDR 传感节点,资料库保存协议与数据包定义、解析器和归档录制,插件还可加入雷达脉冲分析等检查模块。

基于 Frida 的工具,在运行中的进程内挂钩 OpenSSL、BoringSSL、NSS、GnuTLS 等 TLS 库,输出 NSS 格式的密钥日志和解密后的 PCAP 明文,便于分析者在 Wireshark 中检查应用的加密流量。对于去除符号或静态链接的库,可通过字节模式或偏移量定位函数、扫描被重命名的库,也可不挂钩而改为扫描堆内存来恢复 TLS 密钥。终端界面、Python API 和 Wireshark extcap 集成都基于同一套捕获功能。

应用 · 协议完整条目

从已编译程序中恢复 Protobuf 消息定义,并还原为可读的 .proto 文件。提取器覆盖 JAR、DEX 和 APK 中的各类 Java 运行时(包括经 ProGuard 混淆的代码)、内嵌 Protobuf 反射元数据的二进制文件,以及使用 Protobuf-URL 格式的 Web 应用。随后可在图形界面中把恢复出的消息类型绑定到 HTTP 端点,将十六进制形式的抓包样本解码为可编辑的字段树,并重新发送修改后的消息,帮助分析者把每个字段与响应对应起来。

应用 · 协议完整条目

实现 Valve Steam 网络协议客户端的 .NET 库,涵盖连接管理服务器会话、身份验证、好友、统一服务消息与 Game Coordinator 消息、Web API 调用以及 CDN depot 下载。消息类由子模块跟踪的 Steam protobuf 和项目自有的 SteamLanguage 定义生成。其 Resources 目录还提供协议研究工具:NetHook2 是挂钩正在运行的 Steam 客户端、转储其收发网络消息的 Windows DLL,NetHookAnalyzer2 用于查看这些转储,ProtobufDumper 则从可执行文件中恢复 protobuf 定义。

游戏 · 协议完整条目

无需对应的 .proto 定义即可解析 Protocol Buffers 数据块(proto2 或 proto3),按线路编码顺序以彩色输出字段;对每个长度限定的数据块,依次尝试解析为嵌套消息、打包数组、字符串,最后退回十六进制转储。分析者把推断出的内容写入 protobuf_config.py,包括字段类型与名称、消息和枚举类型以及自定义原生类型,直到解析器不再需要猜测。字段名、zig-zag 编码、有无符号以及整数还是浮点数,都无法从线路数据中读出;README 也说明猜测可能出错,小数据块尤甚。

NCC Group 推出的蓝牙 5 与 4.x 低功耗(BLE)嗅探器,由运行在 TI CC1352/CC26x2 射频板上的固件和 Python 主机工具组成。它可在 1M、2M 和编码 PHY 上捕获广播与连接流量,跟随连接经历的信道映射、连接参数和 PHY 变更,捕获 BT5 扩展广播,并按 MAC 地址、IRK、RSSI 或广播内容过滤;对已过滤的目标会在全部三个主广播信道间跳频,README 称这使连接检测的可靠性比只监听单一信道的嗅探器高出近三倍。捕获结果保存为与 Ubertooth 兼容的 PCAP;Wireshark extcap 插件可直接从 Wireshark 界面启动捕获,命令行解码器可打印广播数据,包括 Apple 和 Microsoft 的厂商自定义字段。

Great Scott Gadgets 推出的 USB 2.0 协议分析应用,可配合 Cynthion 分析仪实时捕获,也可浏览已捕获的流量,处理高速、全速和低速 USB 的物理层数据包。其 GTK 4 界面提供分层视图,可将高层事件逐级展开为事务和数据包,另有按时间顺序排列的事务视图和数据包视图;设备面板则根据解码后的描述符(包括 HID 报告描述符)汇总每个观察到的设备。捕获以 LINKTYPE_USB_2_0 链路类型的 pcap 文件打开和保存,v0.5.0 还加入了带有非数据包事件自定义块的 pcapng 格式。

Python 编写的汽车安全探索工具,起源于 HEAVENS 研究项目;README 称它是一种无需预先了解目标的工具,可接入任意 CAN 网络并收集其中存在哪些服务的信息。被动模块可将 CAN 流量输出到终端或 candump 格式文件,并列出总线上出现的所有仲裁 ID;UDS(ISO 14229-1)、DoIP(ISO 13400-2)和 XCP 模块则可发现响应诊断请求的 ECU,枚举其支持的服务和子服务,读取数据标识符并查询 XCP 能力。其工具库提供可复用的 ISO-TP(ISO 15765-2)和 UDS 实现,新模块可通过即插即用的模块架构加入。

Go 编写的命令行工具,可从已编译的二进制或其他任意文件中恢复 Protocol Buffers 模式:它在原始字节中搜索生成代码嵌入的序列化 FileDescriptorProto 记录(借助其中的 .proto 文件名定位),并按原描述符路径将每条记录重新写成 .proto 源文件。重新生成的文件采用 proto2、proto3 或 editions 语法,包含包名、导入、常用文件选项,带保留范围的消息、嵌套枚举、oneof、map 与默认值,以及服务及其 RPC 方法,为分析者解码 Protobuf 流量提供消息和接口定义。

二进制 · 协议完整条目

用于逆向 CAN 总线流量(主要是车辆总线)的 Flipper Zero 应用及早期 Arduino 程序。当前应用通过 UART 为 CAN Commander ESP32 板提供操作界面:可显示全部或过滤后的帧、列出唯一 ID、测量报文速率、跟踪逐位和逐字节变化,并提供两阶段的自动逆向功能,先校准排除背景流量,再显示执行某个操作时哪些 ID 发生变化。它还能依据基于 DBC 的配置解码实时信号,并读取 OBD-II PID、VIN 和故障码。

一组研究用途的 Python 和 R 脚本,用于自动逆向分析从乘用车采集的控制器局域网(CAN)报文负载,实现了 Brent Stone 在 AFIT 的博士论文所述的流水线。Python 流水线先把 CAN 日志预处理为按仲裁 ID 组织的数据框,提取公开的 SAE J1979 诊断数据,再通过词法分析推测各信号时间序列的边界,随后通过语义分析构建相关性矩阵并对相关信号做层次聚类,输出图表和树状聚类图。另一组 R 脚本调用 rEDM 经验动力学建模包,对发动机转速、刹车压力和车速时间序列分析因果关系。

基于 Frida 的拦截工具,用于捕获不支持代理设置的应用程序的流量。JavaScript 挂钩脚本作用于 WinSock、Linux libc 套接字、OpenSSL、GnuTLS 和 SChannel 的收发函数,将明文缓冲区交给 Python 拦截模块记录日志,或转发到代理中查看。它可启动或附加到进程,也可通过远程 frida-server 操作,主要作为作者 PETEP 代理的后端而设计;proxifier 拦截模块可配合其他代理工具使用,并可添加新的脚本和拦截模块。

应用 · 协议完整条目

基于 Raspberry Pi Pico 的低成本 CAN 总线接口固件与硬件设计,用于探索和逆向分析车辆网络。它借助基于 PIO 的 can2040 库,在 RP2040 开发板上运行两路、在 RP2350 开发板上运行三路 CAN 2.0B 通道,并通过 USB 以 GVRET 设备的形式供 SavvyCAN 使用,同时为每个通道提供 SLCAN 设备,经 can-utils 接入 Linux SocketCAN。固件还包括配置命令行、可处理 OBD-II PID 请求(含 ISO-TP 多帧应答)的部分 ELM327 模拟器,以及 Pico W 开发板上的 Wi-Fi、蓝牙和网页界面;仓库另附 OBD-II 适配器的洞洞板与 KiCad PCB 设计及可 3D 打印的外壳。

面向 ESP8266/ESP8285 和 ESP32 开发板的 Arduino 库,可在 VAN(Vehicle Area Network)舒适系统总线上收发报文;PSA 在 2009 年前的部分标致和雪铁龙车型中使用这种总线。它用软件解码经 CAN 收发器或仅供接收的电阻分压电路接入 GPIO 引脚的信号,得到包含标识符、命令标志、数据和 15 位 CRC 的报文,可校验 CRC,或通过逐位翻转尝试修复,并提供队列与错误统计。示例程序可转储原始报文、发送报文,并在串口或实时网页上把舒适总线流量解析为可读字段。

SEEMOO 实验室的三个 macOS 辅助工具,Open Wireless Link 项目曾用它们从主机一侧研究 AirDrop、Wi-Fi 密码共享、Handoff 和离线查找等 Apple 无线服务。process_recon 汇总哪些进程、日志类别和子系统产生了含指定关键词的日志;keychain_access 借助 Frida 挂接某一进程中的 SecItemCopyMatching,把该进程访问的钥匙串条目导出为 JSON;另有一组 lldb 断点命令,可打印 rapportd 守护进程收发的 Handoff 与通用剪贴板消息。

基于 Qt 的桌面 CAN 与 CAN FD 分析工具,用于解码信号和逆向分析未知报文;由 openpilot cabana 的活跃贡献者 Dean Lee 从 openpilot 中独立出来,现单独维护。它实时显示逐位变化热图,按计数器、切换位、噪声数据等趋势为字节着色,可按数值搜索信号或查找在不同报文和总线间同步变化的位,屏蔽已知位,绘制信号曲线,并以可撤销方式编辑 DBC 文件,同时能回放 openpilot 行车记录并同步显示摄像头视频。数据来源包括 openpilot 行车记录、Vector ASC、candump 和 PEAK TRC 日志、SocketCAN、comma.ai Panda 设备以及来自 comma 设备的实时流,并附带一组 opendbc DBC 文件。

基于 eBPF 的 Linux 与 Android 工具,在 OpenSSL、BoringSSL、GnuTLS、NSS 等 TLS 库以及 Go 的 TLS 实现上挂载 uprobe,记录进程收发的明文,无需代理或安装 CA 证书,便于分析者在自己掌控的主机上检查应用的加密流量。输出模式包括明文文本、NSS 密钥日志,以及内嵌 TLS 密钥、可交给 Wireshark 和 tshark 解读的 pcapng 文件;文本模式还能从捕获的数据流中重建完整的 HTTP/1.1 和 HTTP/2 报文。另有独立模块审计 bash、zsh 命令以及 MySQL、PostgreSQL 查询。

应用 · 协议完整条目

Tomasz Moń 开发的开源 Windows USB 抓包工具。安装在 Windows USB 设备栈中的过滤驱动会记录各根集线器上设备收发的 USB 请求块(URB),再由 USBPcapCMD 写成 LINKTYPE_USBPCAP 格式的 pcap 文件,供 Wireshark 解析。从 1.2.0.0 版起,项目推荐把 USBPcapCMD 作为 Wireshark extcap 使用:每个根集线器会显示为一个抓包接口,可选择抓取指定设备、全部设备或新接入的设备,还能把已连接设备的描述符补进抓包数据。

面向 CAN 总线数据库的 Python 3 库和命令行工具,可解析 DBC、KCD、SYM、ARXML 3/4 和 CDD 文件,对 CAN 报文进行编码和解码,支持简单与扩展信号多路复用以及诊断 DID。其命令行可依据数据库解码 candump 输出、用 matplotlib 绘制 candump 日志中解码出的信号、转储每条报文的位布局、在数据库格式之间转换、生成 C 语言打包与解包代码,并通过 python-can 在文本界面中监视实时总线。

用于分析已录制无线电信号的桌面工具,主要面向软件无线电接收机的录制文件,README 称可处理 100 GB 以上的文件。可缩放的频谱瀑布图配有可调滤波器,可派生出采样、幅度、频率、相位和阈值曲线;游标用于测量周期和符号速率,并可将符号值提取到标准输出或剪贴板。选定的时间段、滤波后的采样和解调曲线均可导出,频谱图上还能显示 SigMF 标注。

由 Hugo Gascon 等人开发的研究原型,可从记录下来的流量中学习未知网络协议的模型。它从 PCAP 记录中提取报文,将其嵌入为词元或 n-gram 向量,借助 PRISMA R 模块用矩阵分解进行聚类,再生成马尔可夫链状态模型,以及报文模板和把字段与先前报文关联起来的规则,输出为模型文件和 Graphviz 状态图。同一模型还驱动工具中的会话模拟器和有状态模糊测试器,详见作者 2015 年的 SecureComm 论文;本条目只介绍协议学习部分。

用于离线逆向分析 CAN 总线抓包的 PyQt6 桌面工作站及命令行工具。它可读取 SavvyCAN/GVRET CSV、candump、pcap、Vector BLF/ASC、MDF4 和 openpilot 日志,进而提示计数器、校验和及其算法、字节角色、标志位、多路复用器、基于熵的字段边界和跨 ID 相关性,解码 J1939 与 NMEA 2000 PGN,并重组多帧报文。基于 cantools 的 DBC 构建器会用抓取的帧核对信号定义,可导出 DBC、openpilot DBC、CANdb++、ARXML 和 Wireshark Lua 解析器;可选的 MCP 服务器向 AI 助手提供 29 个只接收、不发送的分析工具。

用软件实现 USB 设备的 Python 库,借助 Cynthion、GreatFET 等硬件外设充当连接目标主机的可远程控制 USB 控制器。其 USBProxy 模式位于真实设备与主机之间转发传输,并由过滤器记录、解码或修改传输内容,用于 USB 协议分析;README 指出,这适用于无法控制其软件的设备,例如嵌入式系统或游戏主机。第 3 版从头重写了仿真核心,内置键盘、大容量存储和 FTDI 串口设备模型以及 HID 与日志代理过滤器,不再支持旧版 2.9.x 脚本。

源自 LAAS-CNRS 物联网安全研究的 Python 无线通信分析框架,内置低功耗蓝牙(BLE)、经典蓝牙、Enhanced ShockBurst、Mosart、Zigbee、Wi-Fi 和红外等轻量协议栈,由命令行解释器调用可串联的模块。用于协议分析时,它为各协议提供扫描、信息查询和嗅探模块,可发现 BLE 的 ATT/GATT 层并保存所得属性表,可通过 ADB 读取 Android 手机的 btsnoop 日志来监视 HCI 通信,支持读写 PCAP,并提供基于 HackRF 的实验性软件无线电接收路径,包含 FSK 解调器以及 BLE 和 Zigbee 解码器。作者已宣布弃用该项目,转而开发 WHAD 工具集。

Pawit Pornkitprasan 开发的 React 网页应用,用于在没有原始 .proto 文件的情况下解码 Protocol Buffers 数据;既有在线托管页面,也可在本地运行,所有解码都在浏览器中完成。粘贴的十六进制或 base64 数据(也可上传文件)会被拆分成表格,列出字节范围、字段编号、线路类型和内容:varint 同时显示为无符号整数、补码整数和 zigzag 编码整数,fixed32 和 fixed64 显示为整数和浮点数,长度分隔字段若能完整解析则显示为嵌套报文,否则显示为 UTF-8 字符串或字节。它会跳过开头的 gRPC 报文头,还可选择按 varint 长度前缀拆分连续的多条报文。

由 Pieter Robyns 等人开发的 GNU Radio 树外模块,借助软件定义无线电接收并解码 LoRa 物理层帧,实现了专利和博客文章中描述的调制特性。其接收器先对输入进行信道化,检测 LoRa 线性调频信号并与之同步、校正时钟漂移,再经格雷映射、解交织、去白化和汉明译码把符号还原为报头和载荷字节;消息套接字汇点可把结果通过 UDP 端口 40868 转发。附带的流图可解码录制的信号或实时采集的信号,README 列出 HackRF One、USRP B201、RTL-SDR 和 LimeSDR 为经过测试的接收设备。

Graham Clark 开发的 tshark 终端界面,设计上参考 Wireshark,便于在远程机器上(例如通过 SSH)直接检查抓包文件,而不必先拷回桌面。它可读取 pcap 文件、fifo 或标准输入,也可从一个或多个网络接口实时抓包;界面在按 Wireshark 显示过滤器筛选的数据包列表旁,同时显示解析后的数据包结构和十六进制视图。分析视图可以重组 TCP 和 UDP 流,支持搜索并可只看客户端或服务端数据;还能列出 Ethernet、IPv4、IPv6、UDP 和 TCP 会话并据此生成显示过滤器,以及搜索数据包内容。类似 Wireshark 的配置方案可以关联 Wireshark 配置,沿用其中的数据包着色规则。

由 Gonzalo José Carracedo Carballal 开发的 Qt 图形化数字信号分析器,基于他编写的 Suscan 与 Sigutils 库;用户手册称其主要用途是对参数未知的无线电信号进行逆向分析。它可从 SoapySDR 支持的 SDR 设备接收信号,或回放录制的 I/Q 与 WAV 文件,提供频谱和瀑布图视图,并可在时间窗口中测量截取的片段,支持载波恢复、变换和符号采样。检查器(inspector)标签页运行可由用户调节的 PSK、FSK 和 ASK 解调器,提供参数估计,并可转发解调后的样本;它还能解码模拟视频,并预听 AM、FM 和 SSB 音频。

Bradley Kemp 编写的一套 gRPC 调试工具,自称相当于 gRPC 版的 Fiddler 或 Charles。grpc-dump 作为本地 HTTP(S) 代理运行,把应用发出的每次 gRPC 与 gRPC-Web 调用记录为 JSON 流,包含服务名、方法名、元数据、可能出现的错误状态,以及每条消息的原始与解析形式;没有 .proto 文件时,它会以启发式方法解码消息。grpc-replay 重新发送记录下的请求并核对服务器响应,grpc-fixture 用保存的转储应答客户端,它们都构建在 grpc-proxy Go 库之上。

应用 · 协议完整条目

智能体与 MCP

87 项资源

全部分类

以智能体为核心的桌面逆向工程应用,可打开 Mach-O、ELF、PE 二进制、Android 安装包和 GPU 内核,让任何支持 Agent Client Protocol 的智能体在同一窗口中阅读代码、重命名函数、添加笔记并提出补丁。原生代码通过内置的 REA 构建交由 Ghidra 反编译,也可改用 Rizin 和 jadx。它是围绕现有引擎的工作台,并非新的反编译器或重建案例。

应用 · 二进制完整条目

Nous Research 在 Hermes Agent 官方插件库中发布的 REA 插件包。一次目录安装即可注册 REA 的 MCP 服务(固定为 rea-agents 6.4.0,经 npx 以 stdio 启动),并附带为 Hermes 改编的 REA 工作流技能和独立的崩溃分诊技能。约 170 个 REA 工具通过 Hermes 的按需工具检索提供;改编技能要求在运行程序、驱动应用或改动已连接 Android 设备的工具前先征得同意。

应用 · 二进制 · 固件 · 网站完整条目

崩溃分诊工具,将 Linux 核心转储、运行时 panic、异常堆栈和 sanitizer 报告整理为 Markdown 缺陷报告,指出崩溃类型、首个用户代码帧和稳定签名。核心转储分析通过 REA 命令行读取崩溃记录与二进制布局,并可调用 REA 的 Ghidra 引擎为无符号函数生成伪代码;附带的 Claude Code 插件包含技能与只读 MCP 工具。它是围绕 REA 的调试集成,不是重建案例,诊断准确性仍为作者报告。

二进制完整条目

一个可直接克隆的中文工作区模板,用于在 Claude Code 或 Codex 中借助 REA,按“一个目标一个工作区”开展分析。它提供项目级 REA MCP 配置、要求结论标注 CONFIRMED/GUESS 并附证据位置的智能体规则、七套任务提示词,以及仅依赖标准库的脚本:为导入的原件生成哈希基线、创建可写分析副本,并去除 HAR 抓包中的取值。它负责组织分析而非完成分析,其验收只使用了合成样本。

应用 · 二进制 · 网站完整条目

第三方 Agent Skill,与 REA 自身的技能配合使用,把逆向分析证据整理成限定范围的需求、设计、分阶段实现与验证,范围可从单个功能或格式扩展到整个应用。可选安装程序能在用户的 REA SKILL.md 中加入带标记的路由段落,使相关重建请求同时加载两个技能。附带的评估套件由维护者编写、已接触源码的示例及字面预期值组成,并非模型基准。

应用 · 二进制完整条目

基于 PyGhidra 的 MCP 服务器,可分析 Ghidra 项目中的全部二进制,提供反编译、交叉引用、调用图、符号与字符串搜索、基于索引的语义代码检索,以及重命名、类型和注释编辑。另附基于 HTTP 的独立命令行客户端,以及可选的图形界面模式:由服务器自行启动 Ghidra 图形界面并加以操控。

二进制完整条目

为修改用户自有的 PC 游戏打包智能体技能、三份角色说明、Python 命令行工具及预配置的 fal MCP 设置。其逆向分析指南把托管代码、原生代码和数据格式工作交给外部反编译器与调试器,并要求逆向得到的文件格式先通过往返检查再投入使用;其中一个示例附带按此方法实现的 Age of Empires II 精灵写入器。它是附带智能体实践笔记的模组工具包,不是游戏反编译重建,示例结果仍为项目报告。

在 Ghidra 内运行 MCP 服务器的 Ghidra 扩展,为智能体提供附带命名空间与交叉引用上下文的反编译、符号、字符串、数据类型、结构体与调用图工具,以及程序比对、重命名和 PyGhidra 脚本执行。其 README 将项目的特点归于面向大模型使用的工具设计:提供许多小工具,其模式在给定结构之外也能容忍其他输入,把可纠正的错误反馈给模型,并返回附带相关信息链接的简短片段。助手模式可让多个客户端同时连接已打开的 Ghidra 项目;无界面模式则由 ReVa 自行启动 Ghidra,项目仅在会话期间存在。

二进制完整条目

以 Zig 编写、同时支持 x32dbg 与 x64dbg 的原生 x64dbg 插件,在调试器内部通过 streamable HTTP 和 SSE 提供 MCP 端点。智能体可以加载或附加进程,设置软件、硬件、内存及条件断点,单步与跟踪执行,读取寄存器、调用栈、线程、内存映射、导入表、字符串和交叉引用,并执行任意 x64dbg 命令。随附的 SKILL.md 指南要求智能体在每次操作前先确认调试器状态。

二进制完整条目

由社区独立开发的 MCP 服务器,以无界面方式运行微软的 cdb.exe 和 kd.exe,使智能体能够打开并初步分析用户态与内核崩溃转储,连接 cdb 远程调试服务器和 KD 内核目标,并在可分别寻址的会话中执行任意调试器命令。其 README 建议希望在 WinDbg 内使用 AI 的用户选择微软官方的 WinDbg MCP,并把本项目定位为面向其他 MCP 客户端、远程 HTTP 使用和批量转储分析的替代方案;项目自称只是执行真实调试器命令的封装,而非自动修复工具。

二进制完整条目

封装 tshark 及可选的其他 Wireshark 命令行工具的 MCP 服务器,使智能体能借助 Wireshark 的解析器查询已保存的抓包文件:数据包列表与详情、流追踪、任意字段提取、协议层级与会话统计、针对非标准端口的 decode-as 规则、协议首选项、使用用户提供的密钥进行 TLS 与 WPA 解密,以及一个为 Modbus、S7comm、MQTT、Zigbee、BLE 等 25 种协议套用预设字段和过滤器的工具。解析类工具之外,另有安全启发式检测、实时抓包和抓包文件编辑等独立工具。

OpenBin 推出的开源终端智能体框架,让使用者自选的托管或本地模型处理二进制分析数据。它从 OpenBin 或 OpenAPK 项目、或本地 Ghidra 容器的分析结果中读取反编译函数、字符串、导入表和数据,按分诊、调查与起草流程工作,并保存恶意软件分析或漏洞研究报告草稿供人工审阅。它是输出草稿的分析框架,而非重建项目。

应用 · 二进制 · 固件完整条目

一款已停止开发的本地应用与 MCP 服务,把用户自有主机游戏的函数逐个交给 AI 编程智能体,用该游戏当年的编译器编译每次提交的 C 代码,只有链接后的结果与原始字节一致才算通过。它可从 ROM 或光盘镜像新建项目,也可在 decomp.dev 所列公开反编译项目的分叉中工作,由 objdiff 判定结果。其 2026 年 10 月 15 日的最后一次提交宣布停止开发,理由是反编译社区的反对;代码仍以 MIT 许可保留,但不再修复或发布新版本。

本地中间人代理与控制面板,捕获使用者自有电脑和设备的 HTTP/S 流量,存入 SQLite,并通过 /intercept 技能和命令行交给 Claude Code。API 文档、流量摘要等导出模式可用于调查请求模式与未公开接口。这是面向智能体、用于授权测试的抓包工具,不是重建案例,也未确立与 REA 的关联。

应用 · 协议完整条目

由 Ghidra 图形界面插件、独立无界面服务器和 Python MCP 桥接组成,提供含 209 个工具的目录:反编译、交叉引用、重命名、类型设定、结构体、注释与批量编辑,另有 P-code 模拟执行、经 Ghidra TraceRmi 框架的实时调试、共享 Ghidra Server 仓库与版本控制操作,以及基于哈希在不同版本二进制之间迁移函数文档。桥接在连接时只加载三组工具,其余由模型按需搜索并加载;命名与类型规范在工具层强制执行。其 NOTICE 说明,项目于 2025 年 8 月由 LaurieWired 的 GhidraMCP 衍生而来,此后已大幅重写和扩展。

二进制完整条目

基于 ICSharpCode.Decompiler 引擎的 stdio MCP 服务器,智能体可借此加载托管 .NET 程序集(包括从游戏目录中定位到的 Unity 游戏 Assembly-CSharp.dll),继而搜索符号、字符串字面量和特性,阅读反编译得到的 C# 或 IL,并追踪调用方、被调用方、使用位置和继承关系。多个程序集可以用别名同时保持加载,便于智能体对两个版本做结构比较或逐个比对方法体,README 举的例子是 RimWorld 模组移植。面向模组开发的工具还能根据所查看的成员,以文本形式生成 Harmony 补丁骨架、绕行存根和 Transpiler 锚点建议。

应用 · 游戏完整条目

IDA Pro 插件,把 Hex-Rays 伪代码发送给使用者选定的托管或本地大模型,用于解释函数、添加注释或提出新的变量名与函数名,由使用者勾选后再应用。IDA 内的对话控制台还允许模型调用工具,读取反汇编、反编译结果、交叉引用、字符串和类型,对数据库进行重命名和注释,并运行 Python。README 提醒这些通用模型很可能出错,要求使用者审慎对待每一个结果。

二进制完整条目

在 Ghidra 内运行 MCP 服务器的 Ghidra 扩展,通过 streamable HTTP 和旧版 SSE 提供 100 个名称明确的工具(默认启用 93 个),涵盖伪代码、反汇编、P-code、控制流图与调用图、交叉引用、字符串、导入表和导出表,以及重命名、修改类型、注释和结构体推断。自 3.0.0 版起,服务器随项目管理器一同启动,智能体在 CodeBrowser 尚未打开时即可创建、打开、保存和关闭项目并打开程序;同一个共享服务器会跟踪当前获得焦点的 CodeBrowser 窗口。扩展另附六个程序资源模板、七个分析提示词,以及在 analyzeHeadless 下运行服务器的脚本。

二进制完整条目

Claude Code 插件及智能体技能,驱动 jadx 与 Fernflower/Vineflower 反编译 Android 的 APK、XAPK、JAR 和 AAR 文件并记录其 HTTP 接口。它先用指纹步骤识别应用的框架、HTTP 栈、混淆程度和原生库,再通过 shell 脚本在 Retrofit、OkHttp、Volley、Ktor 和 Apollo/GraphQL 等栈中提取接口与鉴权特征,追踪从界面到网络层的调用链,并利用 R8 无法剥除的元数据还原原始的 Kotlin 类名。技能通过自带的 Claude Code marketplace 安装,其脚本也可独立运行,并提供 /decompile 斜杠命令。

Python 命令行工具和 stdio MCP 服务器,用于检查模型对二进制文件提出的结构化断言,例如某偏移处的字节或类型化数值、字符串、导入与导出、指令助记符、模拟执行结果,以及经测试或经 Z3 证明的等价性,并连同工具实际观察到的证据返回 VERIFIED、REFUTED 或 INCONCLUSIVE。已确证和已驳斥的结果保存在磁盘上按二进制文件划分的台账中,重置后或之后的会话可据此继续,而不依赖摘要;reconstruct 循环则让模型不断提出断言,直至一组有信息量的断言通过验证。另有 rollover 命令,用文件交接和新会话取代 Claude Code、Codex、Gemini CLI 或 OpenCode 的上下文压缩。

二进制完整条目

Gradio 对话应用,其 LangGraph ReAct 智能体分析使用者上传的 x86 Linux ELF 二进制文件:列出并反汇编函数,用 Ghidra 反编译,调用 radare2 和 gdb,并在特权模式的 Kali Linux 运行容器中执行 shell 命令和 Python 脚本。工作区以二进制文件的 SHA-256 为键,再次上传同一文件即可恢复会话。该项目源自一项学校研究计划,其 CTF 成绩为作者自述。

二进制完整条目

命令行分析流水线,通过 PyGhidra 在进程内运行 Ghidra,请 Claude、OpenAI 或兼容 OpenAI 接口的模型为去符号二进制文件中的函数、类型和参数命名,并沿调用图自底向上处理,使调用者能看到已命名的被调函数。它先匹配已知库函数与密码算法特征,再把反编译结果疑似混淆的函数交给可调用工具、借助 z3 化简的去混淆环节,将结果应用到 Ghidra 程序中,并导出带注释的 C 代码和 analysis.json 文件。README 称其为首个智能体逆向工程师,这一说法以及其中的准确性和成本数据均为作者陈述。

二进制完整条目

为玩家已安装的单人游戏加入联机或分屏合作模式的智能体操作手册、技能集与 stdio MCP 服务器。智能体或修复已有的合作模组,或逆向分析游戏及其引擎从头实现,再用游戏内机器人测试并把笔记回馈给仓库;MCP 服务器则可检索收录 223 个合作项目和 32 处空缺的目录,根据安装目录识别游戏引擎,并记录可执行文件的身份信息。其 README 和逆向分析技能建议原生代码部分搭配 REA 使用,另有两份游戏笔记报告了借助 REA 的 Ghidra 通道得到的观察结果。

IDA Pro 9.x 插件与 PowerShell 批量提取脚本,可把 Windows PE 文件转换为 AI 编程智能体能够读取的材料:每个二进制文件对应一个 SQLite 数据库,内含 PE 元数据、函数签名、反汇编、Hex-Rays 伪代码、交叉引用、字符串、栈帧、循环与危险 API 调用;还可选择输出分组的 C++ 与汇编文件,每个函数附带调用者、被调者与字符串信息头,并生成 JSON 索引。它可以无界面地处理目录、文件列表或正在运行进程加载的模块,也可以在已打开的 IDA 数据库上交互运行,并保留分析者所做的重命名和注释。处理这些输出的智能体命令来自独立的 DeepExtractRuntime 项目。

二进制完整条目

面向匹配反编译的插件式流水线,在现有反编译项目中逐个处理函数:m2c 生成 C 初稿,decomp-permuter 对其做变异,Claude 借助编译并比对的工具改写代码,只有编译出的目标文件与目标汇编一致时才由 objdiff 判定通过。本地 Decomp Atlas 网页应用为已匹配和未匹配函数建立索引,附调用图和代码向量,帮助挑选下一个函数并生成提示词;HTML 报告汇总每次运行结果。可选的集成插件会把匹配成功的 C 代码放入 git 工作树,检查构建,并可提交、推送或发起 PR。

二进制 · 游戏完整条目

开源 Python 智能体,以 auto-re-agent 之名发布于 PyPI。它依据 Ghidra 提供的证据为已编译程序中的函数起草 C/C++ 实现,再由可单独配置的检查模型在有轮数上限的修复循环中审阅每份草稿。候选代码须先与反编译、汇编、控制流和 P-code 证据做结构比对,再通过项目自己的构建、测试及可选的差分命令和 11 项启发式一致性信号,才会被接受。README 称这些关卡只是保守的证据,并非等价性证明;工具把候选代码写入覆盖层,而不直接修改源码树。

二进制 · 游戏完整条目

为 LLDB 调试会话加入 MCP 桥接的扩展,改编自 ida-pro-mcp:插件的 mcp start 命令通过本地 JSON-RPC 提供 18 个调试器函数,再由依据这些函数生成的 FastMCP stdio 服务器把它们开放给 Claude Desktop 等 MCP 客户端。这些工具可创建、启动或附加调试目标,单步执行,管理断点,读取调用栈、变量、反汇编和内存,计算表达式,并可执行任意 LLDB 命令。同一脚本还保留了 lisa.py 早先的漏洞利用开发辅助命令,包括 checksec、寄存器与栈上下文视图、Mach-O 文件头与加载命令显示、Capstone 反汇编,以及用于崩溃分级的 exploitable 命令。

二进制完整条目

基于 Node.js 的 MCP 服务器,为 LLM 客户端调用 Wireshark 的 tshark;其 README 将用途定位于威胁狩猎、网络诊断和异常检测。三个工具会实时抓取数秒流量,分别返回一组固定的 IP、端口、TCP 标志和 HTTP 字段,tshark 的协议层级统计,或 TCP 会话统计;analyze_pcap 则从已保存的抓包文件中返回 IP、端口、HTTP URL 和协议栈。解析输出之外,其余工具会把抓到的 IP 与 URLhaus 黑名单比对,或在抓包文件中扫描 HTTP Basic、FTP、Telnet 和 Kerberos 凭据。

Binary Ninja 插件,借助 llama.cpp 在本机运行语言模型,依据 HLIL 反编译输出建议函数名;README 称下载模型后即可完全离线运行。它可以重命名当前函数,按调用图后序遍历重命名所有仍沿用默认 sub_ 名称的函数,或只处理其中引用字符串、导入符号或库符号的函数。作者把它定位为研究性概念验证,目前唯一实现的任务是函数命名。

二进制完整条目

IDA 插件,前身为 WPeChatGPT,受 Gepetto 启发:把函数的 Hex-Rays 伪代码发送给兼容 OpenAI 接口的模型(OpenAI、DeepSeek 或其他兼容端点),再将模型的分析结果以注释形式写回 IDA。交互功能可说明函数的用途与行为、建议变量名、用 Python 重写 XOR 解码等小型例程,并标记潜在漏洞。3.0 版新增 WPeServer,即运行在 IDA 内的 TCP 命令服务器,外部控制器或独立的 wpegpt-analyzer 技能可借此以无界面方式执行 light、full 或侧重漏洞的分析流程,提供字符串分类、网络指标提取、函数可疑度评分,并输出 JSON 与 Markdown 报告。

二进制完整条目

由 GhidrAssist 作者 Jason Tang 开发的 IDA Pro 插件,提供一个可停靠的 PySide6 面板,借助大语言模型分析当前打开的数据库。各标签页可解释反编译或反汇编后的函数并附安全摘要,保存带上下文宏和可选 ReAct 智能体模式的持久对话,为函数、变量和类型提出重命名建议并在审阅后应用,还能构建涵盖函数、调用、数据流和安全特征的语义知识图谱,并检索分析人员添加的参考文档。模型可以调用内置的 IDA 工具或外部 MCP 服务器;SymGraph 标签页则通过托管的 symgraph.ai 服务导入和发布名称、类型及图谱数据。

二进制完整条目

Ghidra 扩展,把单个函数的反编译 C 代码发送给使用者选定的托管或本地大模型,并将回复流式显示在 GhidraGPT 控制台中。反编译视图和列表视图的右键菜单提供三项操作:解释函数;改写函数,把恢复出的函数名、参数名与变量名、类型、函数原型及行内注释写回程序;以及审查函数中可能存在的安全问题。每项操作只使用当前函数的反编译输出,README 称审查结果只是需要核实的线索,并非严谨的静态分析。

二进制完整条目

由 GhidrAssistMCP 作者 Jason Tang 开发的 Ghidra 扩展,在 CodeBrowser 中加入多标签页的 GhidrAssist 窗口,借助大语言模型分析当前打开的程序。各标签页可解释反编译或反汇编后的函数并附安全摘要,保存支持上下文宏、MCP 工具调用和可选 ReAct 智能体模式的持久对话,为函数和变量提出重命名、类型修改及结构体建议并在审阅后应用,还能构建涵盖函数、调用关系和安全特征的语义知识图谱并进行社区检测,同时可借助 Lucene 检索分析人员添加的参考文档。SymGraph 标签页则通过托管的 symgraph.ai 服务导入和发布名称、类型、图谱数据及文档。

二进制完整条目

IDA Pro 与 Binary Ninja 插件,在反汇编器内运行自己的智能体循环:使用者选定的模型以流式输出作答,并调用 60 多个进程内工具,涵盖导航、反编译、反汇编、交叉引用、字符串、类型、注释、脚本以及宿主 IL 或微码编辑。编排器可先梳理整个二进制文件,再并行派出子智能体;分析结论保存在数据库旁的 RIKUGAN.md 中;实验性命令可按自然语言描述打补丁,或在 Binary Ninja 上去除控制流平坦化等混淆。README 称该项目是与 Claude Code 一起“氛围编程”完成的。

二进制完整条目

面向智能体的命令行工具,用于操作已在 Binary Ninja 图形界面中打开的数据库,通过监听本地 Unix 域套接字的配套插件连接。智能体可读取反编译结果、中间语言、反汇编、交叉引用、调用点、类型和数据,导出多函数打包结果,并在 Binary Ninja 内运行不受限制的 Python;重命名以及函数原型、结构体和类型修改可先预览,应用后会校验结果,失败时回滚。较大的文本输出会转存为附带哈希的产物文件,随包提供的 Codex 技能说明了使用流程。

二进制完整条目

由 Florian Drechsler 编写,包含一个 IDA Pro 插件和一个 TypeScript MCP 服务器:插件在 IDA 内的 127.0.0.1:9045 启动 HTTP 服务,stdio 方式运行的 MCP 服务器把智能体请求转发给它。其 12 个工具可执行以内联代码或文件路径传入的 IDAPython 脚本,列出函数、导出项和字符串,搜索名称、立即数和字节序列,返回某地址的入向与出向交叉引用,并反汇编指定地址范围。它与本合集已收录的 mrexodia 版和 Hex-Rays 官方 IDA MCP 服务器是不同的代码库。

二进制完整条目

仅以无界面方式运行的 MCP 服务器,通过 PyGhidra 驱动 Ghidra,设计为与智能体运行在同一容器中,而不是连接 Ghidra 图形界面。其 34 组共 212 个工具涵盖程序与项目生命周期、反汇编、反编译与 P-code、补丁与内存修改、符号、引用、类型与结构布局、搜索和图提取,其他需求可通过直接执行 Python、调用 Java API 或运行脚本完成。程序默认以只读方式打开,修改在支持撤销与重做的事务中进行;伪后端让开发和 CI 无需安装 Ghidra 即可运行,ghidra_cli 客户端则把同一套工具提供给不使用 MCP 的命令行和智能体。

二进制完整条目

Ruben Marks(mrphrazer)开发的第三方、仅无界面运行的 MCP 服务器,向智能体提供庞大的 Binary Ninja 工具集,项目称共 181 个工具、分 36 个功能组,涵盖反汇编、中间语言、交叉引用、类型、搜索、带撤销/重做事务的打补丁,以及通过 binja.eval 和 binja.call 执行任意脚本。它通过 stdio 或 TCP 使用 MCP 协议,附带一个由模式生成参数的命令行客户端 binja_cli,设计上与智能体运行时位于同一容器内。假后端模式可在没有 Binary Ninja 许可证的情况下运行 CLI、测试和功能模糊器,实际分析则需要支持无界面模式的许可证。

二进制完整条目

一个智能体技能,让 AI 智能体通过无界面的 idat 在 IDA Pro 中对恶意样本进行静态初步分析。初始化脚本会生成 IDA 数据库,并导出基本信息、导入表、导出表、入口点反编译结果和过滤后的字符串;执行脚本则可对该数据库运行 IDAPython 代码片段或脚本文件。SKILL.md 规定只做静态分析、采用自顶向下的分析方法,并要求把大型字符串列表交给子智能体处理;附带脚本提供加密常量识别、导出函数大小检查,以及 REAI——它把反编译出的函数发送给配置好的 OpenAI 兼容模型,生成功能说明并以 AI_ 前缀重命名。

二进制完整条目

由 GhidrAssist 与 IDAssist 作者 Jason Tang 开发的 Binary Ninja 插件,在侧边栏加入 BinAssist 面板,借助大语言模型分析当前打开的二进制。各标签页可在 LLIL、MLIL 和 HLIL 层级解释函数,也能解释单条指令;保存支持上下文宏、MCP 工具调用和可选 ReAct 智能体模式的对话;为函数和变量提出带置信度评分的重命名、类型修改及结构体建议,并在审阅后应用;还能构建涵盖函数与调用关系的语义图谱,进行社区检测并查找从输入源到危险调用点的污点路径,同时可检索分析人员添加的参考文档。SymGraph 标签页则通过托管的 symgraph.ai 服务导入和发布名称、图谱数据及文档。

二进制完整条目

MCP 服务器,将 radare2 及 r2ghidra、LIEF、Capstone、YARA、CAPA、Detect It Easy、binwalk、angr、Volatility3、Scapy、Sleuth Kit 等引擎封装为 177 个带类型的工具,供 Claude、Cursor 等 AI 客户端调用。工具涵盖反汇编与反编译、二进制解析、字符串、IOC 与能力提取、ESIL 模拟与符号执行、YARA 扫描、内存、PCAP 与磁盘取证、源码模式扫描,以及带 MITRE ATT&CK 映射的会话报告,另有 22 种引导式分析提示词和按二进制划分的 MCP 资源。文件访问限定在配置的样本工作目录内,服务器通过 stdio 或 HTTP/SSE 运行,通常使用项目提供的 Docker 镜像。

二进制完整条目

飞针探测控制套件,旨在让编程智能体或操作员在 GRBL 3018 型 CNC 上处理电路板:先在平台上定位电路板,再拍摄带 XYZ 坐标的 USB 显微镜画面并生成标注焊盘、引脚和芯片的地图,最后探测经操作员批准的目标点。Python 封装、Flask 仪表盘和 AGENTS.md 安全规则让每次移动都处于示波器监测的光电限位之下,一旦触发即暂停进给并进入 STOP 状态,不会自动恢复。公开的代码涵盖设备控制、相机与运动的标定,以及地图和探测候选点的审核;README 把定位、拼接和标注电路板描述为智能体的任务。

一个 Python 命令行工具,可把二进制、IDA 数据库、Android APK、.NET 程序集或整个应用目录导出为供编码智能体阅读的类源码项目树:还原的 C 代码(APK 为 Java,.NET 为 C# 和 IL)及对应汇编与函数摘要、还原的头文件和类型、节区数据转储,函数、字符串、导入、导出、可达性和调用图聚类的 JSON 索引,以及生成的 AGENTS.md 和 CLAUDE.md。它可调用 IDA、Binary Ninja、配合 r2ghidra 的 radare2 或 angr;处理目录时按各平台加载器规则,把每个导入项链接到定义它的文件中的函数。其 tocode mcp 服务会保持反编译器打开,让智能体记录名称、类型和注释,并只重新生成受影响的文件。

应用 · 二进制完整条目

把网站实际产生的 HTTP 流量转换为带类型 API 客户端的 Python 命令行工具。浏览器会话可由用户通过 Playwright 操作,也可由 AI 智能体借助 Playwright 或 Chrome DevTools MCP 服务、或 Vercel 的 agent-browser 命令行来驱动,并记录为 HAR 文件;随后由经 Claude Agent SDK、OpenCode、Cursor 或 GitHub Copilot 运行的编码智能体读取该记录,以十种语言之一编写客户端、README 和用法示例。另有独立的 collector 模式,借助网页搜索与抓取收集 JSON/CSV 结构化数据。

以 Rust 编写的 MCP 服务器兼 Codex 插件,为编程智能体提供可审计的本地串口设备访问:按 USB 元数据识别端口、发送分帧请求,并把收发的每个字节记录到无损的 .obcap 捕获文件中。探索中确认的设备行为保存为 YAML 设备配置、类型化命令和工作流,可校验校验和并解码标量、位字段和记录数组;同样的命令还能在没有硬件时对捕获文件重放。其完整演示解码的是作者为 ESP32-S3 测试板编写的小型二进制协议 OBP/1,而非现有的厂商协议。

用于 Android APK 分析的 MCP 服务:Python FastMCP 进程通过 stdio 与智能体通信,并驱动一个常驻本地的 JVM 守护进程,后者以库的形式内嵌 JADX 1.5.6,因此无需 JADX 图形界面,已加载的 APK 也能在会话之间保持就绪。它的 23 个工具可返回类列表、超出大小上限时改为大纲的反编译源码、方法、字段、smali、基于 dex 索引的交叉引用与被调函数、类型层次与重写关系、导出组件和深层链接组件、清单与资源文件,并能在整个 APK 中按影响类别扫描框架敏感调用点。

Python 命令行工具与 stdio MCP 服务器,用于推断只配有厂商应用的 USB 设备所用的协议。使用者在厂商应用中逐项操作时,它通过 usbmon 或 USBPcap 抓取流量,为每次操作记录标签,按操作比对数据包并推断消息格式:固定字节、滚动计数器、带缩放的 8 至 32 位数值、查找表、打包位字段,以及求和、异或或 CRC 校验。它还能解码设备回复、带会话令牌的握手和发往设备屏幕的图像流,在报告中把每个推断出的字段关联到 Wireshark 帧号,并生成 pyusb 驱动和 Wireshark Lua 解析器。

IDA Pro 导出工具,不走 MCP,而是把分析好的二进制导出为普通文件,交给 Cursor、Claude Code 等 AI 编程工具使用。它把每个反编译成功的函数写成一个 .c 文件(反编译失败时改为 .asm),文件头列出函数名、地址、调用者和被调用者;同时导出字符串表、导入表和导出表,按 1 MB 分块输出各段内存的十六进制转储,并记录回退、失败和被跳过的库函数。它提供两种形态:适合中小文件的 IDA 插件(Export for AI,快捷键 Ctrl-Shift-E),以及适合大文件或批量导出、可跳过 IDA 自动分析的 Rust 命令行程序。

二进制完整条目

用 Rust 编写的无界面 MCP 服务器,通过 idalib 驱动 IDA Pro,让 Claude Code、Codex CLI、Gemini CLI、Cursor 等智能体无需 IDA 图形界面即可打开和分析二进制文件。针对 Apple 目标的操作只需一次工具调用,包括选择通用 Mach-O 中的架构切片、加载 dSYM/DWARF 以及从 dyld_shared_cache 加载模块;除完整工具集外还提供 28 个工具的精简配置,run_script 可执行 IDAPython 并以 JSON 返回结果;重命名、注释、补丁和类型应用等修改类工具每次只接受一个地址或精确的符号名。save_idb 可写入检查点,崩溃或卡死的 IDA 工作进程会被自动替换。

二进制完整条目

让智能体通过同一个端点同时分析多个 IDA Pro 数据库的 MCP 服务器。装有其插件的数据库在打开时会自动注册,也可加入无界面的 idalib 会话;路由器最多提供 76 个工具,涵盖初步分析、反编译与反汇编、交叉引用与调用图、搜索、类型、重命名、注释和补丁,并提供等待自动分析完成的机制,让智能体在 IDA 分析稳定后再下结论;其 IDA 工具实现来自 ida-pro-mcp 项目。函数相似度搜索可在单个二进制内或跨二进制比较函数,依据不依赖函数名的指令 MinHash、API/字符串/常量锚点和控制流结构,并可选用本地神经网络召回,不会上传任何数据。

二进制完整条目

通过原生插件和 Python MCP 脚本把 LLM 客户端连接到 x64dbg 与 x32dbg 调试器的 MCP 服务器。它提供 40 多个基于 x64dbg SDK 的工具,已用 Claude 和 Cursor 测试;智能体可以查询寄存器、在模块中搜索字节模式并控制调试会话。README 建议把可执行文件的完整路径告诉模型,以便它在目标崩溃或卡住时通过命令执行工具重新启动,并建议从 GetModuleBase 开始,以确保查询使用有效地址。

二进制完整条目

IDA Pro 数据库的 SQL 接口,把二进制的分析结果以 30 多张实时虚拟表的形式提供给智能体和脚本。这些表涵盖函数、段、名称、导入、交叉引用、基本块、指令、字符串、类型、反编译结果和注释,部分数据库内容也可通过它们修改。它可作为独立命令行程序运行(可借助 idalib 打开原始二进制文件),也可作为 IDA 命令行下拉菜单中的插件、HTTP REST 服务器或 MCP 服务器使用,还能通过面向 Claude Code、GitHub Copilot CLI 和 Codex 的技能插件使用,并支持同时处理多个数据库。

二进制完整条目

reverse-workbench-skill 是适用于多种智能体环境的技能包,将 APK、原生二进制、固件、前端 JavaScript 和网络流量调查分派到对应流程。文档列出 Ghidra 无界面导出、二进制差异分析和证据记录路径,也包含其他安全分析技能及辅助脚本。

应用 · 二进制 · 固件 · 网站完整条目

32 项资源

全部分类

经人工审核的网站目录,收录游戏、固件、文件格式、API 与协议、应用及旧软件领域的 AI 辅助逆向项目。每个条目链接一手来源,记录作者报告的模型、工具、耗时、费用与结果,并标注源码公开、复现步骤、真实硬件测试和第三方确认四项检查。

应用 · 二进制 · 固件 · 游戏 · 协议完整条目

长期维护的单 README 恶意软件分析工具与资源清单,分为 17 个一级章节,涵盖开源威胁情报、检测与分类、在线扫描器与沙箱、文档与 shellcode 分析、反混淆、调试与逆向、网络、内存取证、Windows 取证痕迹,以及书籍和其他参考资料。每个条目是链接到外部工具或资源的名称并附简短说明。仓库中另附有该清单的简体中文翻译。

二进制完整条目

面向 IoT、嵌入式、工业和汽车系统的单 README 安全研究资料清单,按章节组织,涵盖硬件攻击、无线协议(BLE、Zigbee/Z-Wave、LoRa、Matter/Thread、蜂窝、NFC/RFID、Wi-Fi、USB)、固件安全(含提取、静态与动态分析和安全启动)、网络与 Web 协议、云后端、移动应用,以及工业和汽车相关主题。每个条目链接到外部的工具、演讲、论文、文章或课程并附简短说明。README 称收录 900 多项资源。

固件 · 协议完整条目

面向汽车和嵌入式领域的单 README CAN 总线工具、硬件与资源清单,分为逆向工程工具、测试设备与模拟器、上层协议(OBD-II、UDS、ISO-TP、J1939、J2534)、通用与 Linux 实用工具、CAN 数据库格式(DBC、KCD)及转换器,以及面向 ARM、Arduino、ESP32、单板计算机和 FPGA 核心的硬件等章节。每个条目链接到外部项目或资源并附简短说明。

固件 · 协议完整条目

以单个 README 维护的清单,把 CAN 报文标识符与载荷解码资料的链接汇集在一处,按车辆品牌和车型分组,涵盖约 30 个汽车品牌及品牌集团,另有 BMW、Ducati 和 KTM 摩托车。条目链接到其他地方维护的 DBC 文件、解码表格、wiki 页面、抓包笔记和小型库;开头的 Common 部分收录 comma.ai 的 opendbc 和 OpenGarages CAN ID 参考等通用数据库。

一份非官方的中英双语 awesome 清单,收录 AI 智能体逆向分析并重建过的项目,并按各案例自身来源能否证明使用了 REA 加注标签。内容包括 REA 的官方资源与展示案例;游戏、应用、硬件与协议以及安全评估方面的社区案例;未确认使用 REA 的更广泛 AI 逆向与净室重写项目;插件、指南与研究、相关 MCP 工具、其他清单和媒体报道;另有一节讨论法律问题与争议。

应用 · 二进制 · 游戏 · 协议完整条目

网站及 GitHub 列表,收录 81 个在没有原始源码的情况下重建现有软件或游戏的项目:由 AI 构建的净室应用(如 ArtCraft 套件)、借助编码智能体重写的软件、AI 辅助的游戏反编译、游戏引擎重新实现、由人主导的反编译与移植、Wine 和 ReactOS 等经典净室实现,以及重建工具。每个条目说明重建对象,并带有方法标签和 AI 参与程度标签;网站支持搜索、筛选,并可按星标数或近期活跃度排序。另有一篇指南介绍借助 REA 进行净室重建的流程。

应用 · 二进制 · 游戏完整条目

以单个 README 维护的游戏反编译、重编译和反汇编项目清单,约 480 项,按主机平台分组,从 NES、Game Boy 到 Xbox 360、PC 和移动平台,另有规模较大的未分类部分。每个条目是链接到对应项目的游戏名,大多指向 GitHub;按维护者的披露政策,有 AI 参与的条目以警告符号标出。

自动生成并附评分的公开游戏重建项目索引,涵盖反编译、反汇编、静态重编译、源码移植、引擎重制及浏览器移植。每日任务合并多个上游目录与登记站点,结合 GitHub 和 decomp.dev 元数据,剔除失效链接,再由数据文件重建 README 和网站。适合用来发现项目;其评分是自动启发式结果,并非人工审阅。

以单个 README 维护的非官方 PC 移植指南,收录基于反编译或重编译、且便于玩家安装的主机游戏移植。76 个游戏条目按 Nintendo、PlayStation、Xbox、SEGA、独立游戏和 J2ME 分组,每项推荐一个移植版并附简短安装说明,常同时链接所依据的反编译项目和其他移植版;“实用工具”部分另列两个重编译启动器。

篇幅不长、只列链接的机器码反编译阅读清单,最近一次更新在 2023 年。45 个链接涵盖奠基性学位论文、编译器与程序分析书籍、反编译器产品和项目,从中间表示到类型、控制流和标识符恢复的反编译流程主题,早期神经网络反编译论文,以及二进制与源码匹配。

二进制完整条目

remade.wiki 的源码仓库。remade.wiki 是由社区整理的目录,收录闭源软件的开源重新实现,以创意、办公和工程类应用为主。每个条目是一份 YAML 记录,注明被重现的原软件、编程语言、平台、许可证,以及自报的开发状态、兼容程度和局限;目录还收集尚无人重新实现的软件请求。

以单个 README 维护的 awesome 清单,2017 年 1 月创建,以 KaliTut 名义维护,共收录 139 个逆向工程链接,分为 16 个部分:书籍、课程、练习目标、十六进制编辑器、二进制格式工具、反汇编器、二进制分析、字节码分析、导入表重建、动态分析、调试、Mac 解密、文档分析、脚本、Android 和 YARA。条目大多只有工具或资源名称及链接,少数附一行用法说明,内容偏重 Windows 与 macOS 工具以及恶意软件分析。

应用 · 二进制完整条目

James Stevenson 于 2023 年创建的 awesome 清单,收录 Android 逆向工程的培训、工具和资源,共 92 个单行条目,其中 16 个以星标注为优质且较新的资源。内容涵盖课程、视频和书籍,静态分析与反混淆、网络分析与基于 Frida 的插桩、反编译器和恶意软件分析工具,文档与案例研究,CTF 与 crackme,混淆与反逆向,以及一个简短的固件与内核部分。

David Weinstein 于 2016 年 5 月创建的 awesome 清单,收录基于或围绕动态插桩工具包 Frida 的程序库、脚本、工具、演讲和文章。全部 82 个条目分为程序库(约一半是 NowSecure 的 Node.js 模块)、脚本合集与项目、演讲与论文、基于 Frida 的工具(如 r2frida、objection、friTap 和 Fridump)、视频、博客文章以及社区链接,大多附有一行简介。

应用 · 二进制完整条目

由 GitHub 组织 Allsafe 自 2019 年 12 月起维护的 awesome 清单,收录 Ghidra 脚本、插件、扩展、学习资料和相关服务。全部 49 个条目包括 36 个脚本与扩展,从恶意软件分析和加密常量查找工具,到 Go、JNI、EVM 和 EFI 辅助工具、Python 与 Jupyter 桥接、P-code 模拟以及补丁对比关联器;10 份书籍、演讲和课程资料;以及 r2ghidra-dec、Ghidraaas 等 3 个相关项目,每项附一行简介。

二进制完整条目

以表格形式整理的网络协议自动化逆向工程研究清单,收录 71 篇论文,从 2004 年的 Protocol Informatics 项目到 2021 年的 NetPlier。清单以三篇综述为基础并持续扩充,按所用方法、输入(网络流量记录或执行轨迹)与输出(报文格式、状态机或其他产物),以及评估所用的文本、二进制或混合协议对各方法进行比较,附完整参考文献,另有一张列出少数公开代码论文的简表。

规模很大的逆向工程链接清单,2019 年以中英文自动导出,分精简版和完整版 README。完整英文版列出约 3600 个开源工具和 2300 篇文章及视频,按 Windows、Linux、Apple 平台和 Android 分组,并为 IDA、Ghidra、x64dbg、OllyDbg、WinDbg、radare2、Cuckoo、Binary Ninja 及动态二进制插桩设有工具专区。工具条目附有导出时记录的 Star 数、编程语言和上游简介。

应用 · 二进制完整条目

以单个 README 维护的 Android 与 iOS 应用安全资源清单,共约 245 个链接,按平台分为博客、论文与教程、书籍、课程、工具、故意留有漏洞的练习应用、演讲及杂项。Android 工具又细分为静态分析、动态分析和在线 APK 分析服务;smali/baksmali、radare2、Cutter、Bytecode Viewer、Frida、Objection 等逆向工程条目与渗透测试指南和漏洞分析文章并列。

以单个 README 维护的可执行文件加壳资源清单。加壳指对 PE、ELF 等可执行文件(包括 Android 应用)进行打包、压缩、编码、加密、变形、保护或虚拟化,清单也涵盖已加壳文件的检测与脱壳。约 770 个条目分为文档、注明日期的学术论文、样本数据集、按年代(2000 年以前至 2010 年以后)排列的加壳工具,以及用于加壳识别、脱壳和二进制分析的工具。

应用 · 二进制完整条目

以单个 README 维护的中文清单,收录与 AI 结合的逆向工程项目,按 JavaScript 逆向、二进制与原生分析、Android 与 iOS 安全、浏览器自动化与流量分析分组。条目大多是 MCP 服务器、面向 Claude、Cursor、Codex 的智能体技能,以及把大语言模型接入 IDA Pro、Ghidra、Binary Ninja、JADX、Frida 等工具的 IDE 插件。每一行是项目名称、链接和一句中文说明。

应用 · 二进制 · 网站完整条目

可排序、可筛选的 Hex-Rays IDA Pro 插件清单,收录 618 个插件、加载器、处理器模块和脚本,以 GitHub Pages 表格发布,并在 README 中生成静态副本。每个条目链接到对应项目(几乎都在 GitHub 上),附简短说明;如有记录,还标出实现语言(C++ 或 Python)、反编译器、反混淆、加载器、调试、集成等分类标签,以及项目的最近更新日期。该清单由 onethawt 约 200 个插件的 idaplugins-list 扩展而来。

二进制完整条目

以单个 README 维护的清单,编写于 2025 年 7 月,收录 28 个逆向工程工具的 MCP 服务器,按反汇编器与反编译器(IDA Pro、Ghidra、Binary Ninja 等)、调试器、静态与动态分析、网络分析、Android 和安全测试分组,每项附一句说明。清单还列出作者认为尚无 MCP 服务器的工具,链接四个演讲与教程,并给出编写新服务器的入门资料。

应用 · 二进制完整条目

以单个 README 维护的开源逆向工程工具清单,侧重二进制分析,共 71 项,按字母顺序从 Amoco 排到 X86isa,不分类别。每个条目给出工具名称、链接和一到三句说明,涵盖二进制分析框架、提升到 LLVM 及其他中间表示的工具、符号执行与模拟引擎、动态插桩、全系统分析与虚拟机自省平台、反编译器、调试器前端以及去混淆工具。

二进制完整条目

一份进入公有领域的目录,始建于 2026 年 6 月,收录 Teenage Engineering 设备的破解与改造项目:涵盖 OP-1、OP-Z、OP-XY、TP-7、SP-1 Stem Player、EP 系列、Pocket Operator 等设备的自定义固件、逆向笔记与协议文档、工具、硬件改装、拆解与恢复指南以及社区站点。每个条目只有一行,按设备和用途分组,并由维护者标注活跃、休眠或归档状态;收录范围仅限已发布、专门针对 TE 设备的项目。

固件 · 协议完整条目

以单个 README 维护的 UEFI 与 BIOS 安全资料 awesome 清单,维护者称其为个人收集、并不全面。清单链接 UEFI、PI 与 ACPI 规范,EDK II 开发资源,UEFITool、efiXplorer、CHIPSEC 及 Ghidra 和 Binary Ninja 的 UEFI 插件等固件分析工具,以 SMM 为主题的 CTF 题目,对在野 bootkit 的分析报告,漏洞分析文章,会议演讲、博客、论文和培训课程。

以单个 README 维护的学术安全论文阅读清单,收录 28 篇固件与嵌入式系统分析论文,按年份分组,时间跨度为 2013 至 2021 年。内容涵盖固件重托管与仿真、固件模糊测试、符号执行、蓝牙与基带分析,以及基于 Linux 和裸机固件中的缺陷检测。每个条目是链接到 PDF 或出版方页面的论文标题,并注明 USENIX Security、NDSS、IEEE S&P、CCS 等发表场合。

文档与学习资源

83 项资源

全部分类

通过 REA 加固的 ZIP 读取器清点 HarmonyOS 的 HAP、HSP 与 App Pack 文件,并投影出无需执行的应用图:组件路径、ID 与哈希、Stage/FA 打包模型提示、运行时类别提示,以及基于路径的原生桥接假设。所有结论仅基于路径存在;清单、Ark 字节码、资源和签名均未被解码或验证。

说明 REA 通过 Ghidra 分析 MIPS ELF 可执行文件、可重定位目标文件与 MIPS16 共享镜像的流程,包括为缺少 ABI 记录的旧式固件可执行文件固定 32 位语言,以免 Ghidra 将其按 64 位导入。准入以文件头声明和 ABI 记录为界;验证将项目自有的测试样本与独立的 readelf 输出对照,而不执行或重新托管固件。

二进制 · 固件完整条目

说明 REA 针对静态 PSP ELF 可执行文件的受限 Ghidra 配置:Allegrex 指令、PSP 加载与调用约定交由使用者安装的 ghidra-allegrex 扩展处理,同时沿用 REA 的命令行、MCP、证据与快照流程。它仅在 Linux x64 上接受一种 PSPSDK 文件头与 ABI 声明,并在自行构建的测试样本上验证选定的静态事实,不涉及商业游戏或 PRX 模块。

二进制 · 游戏完整条目

在 REA 的 Ghidra 分析中,从 x64 PE 可执行文件恢复 .NET 8 NativeAOT 元数据:通过内置只读解析器或可选的无界面适配器(会为 Ghidra 数据库添加注释),从 RTR 9.1 数据中取得 MethodTable 关系、虚表槽位与冻结字符串。生成的名称、推断的原型和恢复的原生伪代码,与未知的原始 C# 名称、字段和源码明确区分。

二进制完整条目

由个人独立运营的非官方 REA 指南,共 32 个页面,介绍如何安装 REA 并接入编码智能体:涵盖 npx、npm 与 Bun 安装路径(含 Windows),Claude Code 与 Claude Desktop、Codex、Cursor、Windsurf 和 Gemini CLI 的 MCP 配置,支持 24 种客户端的配置生成器,Ghidra、IDA 与 JADX 分析引擎设置,以及把确切报错文本对应到 REA 上游 issue 的故障排查页面。部分页面记录了作者自己的运行结果,例如在 rea-agents 6.5.0 上通过无界面 JADX 分析 Android APK,以及在 6.8.0 上重新测试 Claude Code 配置。网站还将 REA 与 Ghidra、IDA 及其他逆向 MCP 服务器作比较,并记录冒充 REA 的仿冒副本。

应用 · 二进制 · 网站完整条目

Snowboard Kids 2 反编译项目的一篇操作说明:在一致性构建仍无法加入调试信息时,把 gdb-multiarch 接到 Ares 模拟器上。文中按 ELF 符号名在函数处设断点,再手动读取结构体中的一个字节,检验它是否决定加载哪个关卡 overlay。这是在运行时检验反编译假设的简短方法记录,而非重建成果。

JPCERT/CC 于 2026 年 10 月 15 日发布的博客文章,调查日本国内一系列不正当访问事件背后的攻击基础设施。文章报告攻击者利用 AI 扫描已知漏洞并经由 API 发动攻击,攻击服务器上存有 APK 文件、与 jadx 和 Blutter 相关的文件、APK 解包目录,以及用于探测应用 API 的 SSRF 验证脚本。这是防御方对所观察到的攻击者工具的记述并附缓解建议,而非公开的 AI 辅助分析方法或可复现的工作流程。

mytechnotalent 维护的免费英文课程索引,几乎每天更新:共 490 节编号课程,多数课程让学习者先编写小程序,再对其调试和打补丁(文中称 "hack"),覆盖 x86、x64、32/64 位 ARM、RISC-V 和 AVR。前期课程从数制、寄存器、内存和栈讲起;后期转向 Raspberry Pi Pico/Pico 2、STM32F401、ESP32-C3、ATmega328P 和 micro:bit 等开发板上的微控制器固件,以及 Windows、Go、Rust 和 WebAssembly 程序。README 本身只是链接目录,课程正文位于一个 GitBook 以及作者其他仓库中的课程文件和 PDF 书。

二进制 · 固件完整条目

Z0F 编写的免费英文课程,讲解如何逆向 64 位 Windows 程序,README 称目标是帮助学习者从入门进阶到中级。Markdown 课程从数制、x64 寄存器、内存布局和调用约定讲起,过渡到 x64dbg 与 Ghidra,再逆向若干小样本以及作者自己编写的 DLL,还原其中的 Player 类,并在自己编写的程序中调用该 DLL 的导出函数。尚未完成的后续章节介绍 Windows 内部机制,并逆向 ntdll 中的 generic table 系列函数。

二进制完整条目

OWASP 维护的开放手册,讲解 Android 和 iOS 应用的安全测试与逆向工程,发布于 mas.owasp.org。除平台原理、测试环境搭建以及应用篡改与逆向工程等章节外,还收录可单独引用的测试、技术、工具页面、知识条目、最佳实践和可运行的演示,均与 MASVS 控制项和 MASWE 弱点对应。OWASP 自己的 UnCrackable 破解练习应用用作练习目标和示例。

社区维护的维基,讲解反编译器如何工作,从反汇编、提升和控制流恢复,到类型恢复、控制流结构化、质量评估和神经反编译,并为各项技术注明研究出处。它还整理了反编译器、插件、博客和演讲目录,设有符号恢复、代码相似性和漏洞发现等应用研究页面,以及按原平台列出的约 240 个游戏重建项目表。

二进制 · 游戏完整条目

Matthieu Breuil 在 Synacktiv 发表的文章讲解了调用预定义工具与执行生成代码两类智能体设计,并介绍在 Binary Ninja 内运行生成的 Python 代码的 CodeAct 智能体 Frontkick。文章在 CREBench 的两个密码二进制任务上将 Frontkick 与开源插件 Rikugan 对比,随后指出 Frontkick 的优势主要来自提示词中列出已安装 Python 库的做法,而非其架构本身。这是一篇附逐次运行结果的小规模评估文章,不是已发布的工具,也不是普遍性的基准结论。

二进制完整条目

Mandiant FLARE 团队发布的免费英文逆向工程与恶意软件分析课程模块,正文以 Google Docs 形式发布,实验用二进制文件、IDA 数据库和脚本存放在本仓库中。其中的恶意软件分析速成课从 x86 基础讲到解读 Windows API 调用,穿插汇编修改练习和附详细解答的实验;其余模块介绍如何用 WinDbg 时间旅行调试(Time Travel Debugging)分诊恶意软件,并提供一份说明 Go 1.24 程序在 Windows 可执行文件中呈现方式的参考手册。

二进制完整条目

由 dekuNukem 于 2017 年发起、众多贡献者陆续补充的笔记,记录 Joy-Con、Pro 手柄以及 Switch 主机与底座部分硬件的工作方式,依据来自拆机、逻辑分析仪抓取和数据包记录。各 Markdown 文件涵盖 Joy-Con 电路板测试点与滑轨接口引脚定义、带 CRC-8 校验的有线串口握手、蓝牙 HID 输入与输出报告及其中记录的 32 个子命令、Pro 手柄与充电握把的 USB HID 命令、含摇杆与六轴校准数据的 SPI 闪存布局、IMU 换算公式以及振动编码表。仓库还保存了在滑轨接口上扮演主机或 Joy-Con 的 STM32 测试固件、用于解析蓝牙流量的 Wireshark 解析器,以及笔记所依据的抓取数据。

固件 · 协议完整条目

Maddie Stone 编写的免费英文工作坊,以 GitHub Pages 发布,入门讲解 Android 应用的静态逆向工程。各章涵盖应用组件与入口点、Dalvik 字节码与 smali、用 jadx 反编译 DEX、在 Ghidra 中定位并阅读 JNI 原生库,以及字符串去混淆。七个附书面解答的练习将这些方法用于分诊恶意软件样本,以及找出预装应用中的命令执行缺陷。

应用 · 二进制完整条目

Ivan Rodriguez 编写的免费英文课程(1.1 版),讲解 iOS 应用逆向工程,面向 iOS 应用安全初学者。五个 Markdown 模块依次介绍越狱测试设备的环境配置、为分析而解密 App Store 应用、对 IPA 中的文件、框架、Objective-C 类和 ARM 二进制进行静态分析(使用 Hopper 或 Ghidra)、用 Cycript 和 Frida 做运行时分析,以及在 Hopper 中修补二进制。练习使用 CoinZa:作者根据其所述在 App Store 正式应用中发现的漏洞类型,专门编写的一个故意不安全的 Objective-C 应用。

应用 · 二进制完整条目

Zhuo Zhang 用 Python 编写的小型教学用反编译器,面向 32 位 RISC-V(RV32I)ELF 文件,目的是讲清反编译的工作原理,而非与生产级反编译器竞争。它把流程刻意拆成 19 个独立阶段:从 ELF 加载、指令解码和 p-code 提升,经过 SSA、栈、类型、变量和取值范围恢复,再到控制流结构化和 C 代码输出;命令行可在任一阶段停下,打印该阶段的中间结果。README 还提供一个 Claude Code 插件,其中的 AI 导师会结合小测和练习,带学习者逐个阶段学习。

二进制完整条目

由 One Thawt 编写的简短阅读清单,主要成形于 2015–2016 年,在一个 README 和单独的恶意软件分析页面中收录约 58 个链接,涵盖逆向工程工具、书籍、论文、演讲和博客文章。各部分从反汇编器与调试器、入门讲座和经典书籍,到数据结构恢复论文、指令集参考资料、iOS、Android 与 Windows 相关资料、脱壳、反混淆,以及基于网络流量的协议推断。

二进制完整条目

由 Jack Price-Burns 维护的免费英文在线课程,在浏览器中教授一致性反编译:学习者阅读函数的目标汇编,编写 C 代码,再由原版主机编译器逐字节评判结果。课程从读寄存器和算术运算讲起,依次覆盖控制流、结构体、浮点、ABI、全局变量、优化器行为和 64 位整数,最后以改编自开源反编译项目的函数收尾。课程目前包括 GameCube PowerPC、Game Boy Advance Thumb 和 Nintendo 64 MIPS 三门,前端源码公开在 GitHub 上。

二进制 · 游戏完整条目

由 Aaron Guzman 维护、发布在 GitBook 上的免费英文方法论,用于嵌入式设备固件的安全测试与逆向工程。全文分为九个阶段:信息收集、获取固件、分析固件镜像、提取文件系统、静态分析文件系统内容、仿真、动态测试、运行时分析和二进制漏洞利用,并给出 binwalk、unblob、FACT、EMBA、Firmwalker、QEMU 和 Ghidra 等工具的示例命令。2025 年 10 月的修订加入了 C/C++ 静态分析工具、SBOM 生成,以及与 OWASP IoT 安全验证标准(ISVS)的对应关系。

Emproof 在 ScapyCon Automotive 2025 上举办的固件逆向工程研讨会的幻灯片和 14 个独立练习,由 Tim Blazytko 设计,面向安全经验不多的技术人员。固件与二进制相关练习由浅入深:先用 binutils 读取 ELF 元数据并初步上手 Ghidra 或 Binary Ninja,再用 binwalk 解包两个嵌入式 Linux CTF 镜像,最后进行裸机分析,包括识别一辆模型车固件 ELF 的微控制器、工具链和内存映射,以及依据数据手册定义内存段,为一份原始 STM32F103 闪存转储重设基址。另有练习在 Mirai 样本中静态解密字符串,并把硬编码的 AES 密钥回溯到其所在数据段。

二进制 · 固件完整条目

snakeninny 与 hangcom 于 2015 年免费公开的 iOS 应用逆向工程图书,仓库中以 442 页英文 PDF 形式发布。全书分为四部分:iOS 文件系统与文件类型;class-dump、Theos、Reveal、IDA、Cycript 以及 LLDB 与 debugserver 等 OS X 端和设备端工具;基于 Objective-C 与 ARM 汇编、定位功能背后代码的方法论;以及四个实践案例,先在备忘录、邮件、微信和信息应用中定位相关代码,再编写插件(tweak)为这些应用增加功能。

一个较大的 README,汇集手写的 Frida 动态插桩示例,按 Native、Android 和 iOS 分组,用于观察运行中应用的行为。示例展示了诸如挂接 Interceptor、枚举已加载模块与类、描述类成员、跟踪方法参数与返回值、打印调用栈、记录 SQLite 查询与 I/O,以及扫描或转储进程内存等模式。scripts 目录附带辅助代码,包括从反编译器生成钩子代码片段的 Python 脚本和 frida-server 安装脚本,以及用于 Sublime 和 Vim 的编辑器片段。

由 kpwn 发起、社区维护的 iOS 逆向工程参考资料,由一个 wiki、一份公开技术论文与演讲的整理索引,以及几个环境配置脚本组成。wiki 页面介绍 iOS 的底层机制,如 Mach-O 可执行文件格式、XNU 内核与 IOKit、启动链,以及平台缓解措施的历史;README 说明项目尚处早期、仍在持续完善,多个页面仍是占位草稿。仓库只收录笔记和外部链接,并不包含任何 Apple 固件、设备镜像或应用二进制文件。

应用 · 二进制 · 固件完整条目

Michal Malik 以单个 README 维护的 Linux 逆向工程阅读清单,收录约 230 条链接与书目:从系统调用、ELF 和各处理器 ABI 的速查资料,到讲解程序启动、链接与重定位的 101、201 两级阅读。后续部分汇集加壳与混淆、反调试、ELF 感染、内核模块与 rootkit、漏洞利用、crackme、radare2 实战、检测工具及书籍等资料。这是一份注释很少、最后改动于 2022 年 1 月的链接清单,适合作为背景阅读提纲,而不是持续维护的课程。

二进制完整条目

收录十一个 Android 挑战应用及逐步讲解,用于学习 Frida 插桩:从部署 frida-server、Hook Java 方法开始,依次练习调用静态方法、修改变量、创建实例和 Hook 构造函数,最后到 Hook、调用及修补原生函数。作者将其定位为入门到中级的练习,而非高难度 CTF:每个应用都藏有 flag,但目标是掌握 Frida 常用 API,并能读懂他人编写的脚本。

以单个 README 维护的 macOS(OS X)与 iOS 逆向工程阅读清单,由 Michal Malik 于 2015 至 2019 年间整理,并标注为仍在进行中。九个部分共 98 个条目,依次涵盖必读博客与 Mach-O、ABI 和系统调用参考资料,Mach-O 基础知识,恶意软件、反调试和混淆相关文章,内核、沙箱与越狱研究,内核扩展开发与内核调试,取证与监控资料,以及 crackme 练习和六本书。条目只有链接或标题,大多没有说明。

应用 · 二进制完整条目

Evil0ctal 编写的中文 Android 逆向课程,计划分 100 天、每天一课。课程从进制、ARM 汇编、Dalvik/ART 运行时和 APK 加载机制讲起,继而介绍 APK 与 DEX 结构、Smali 修改与重新打包、Frida 和 Xposed Hook、JNI 与 Native 库分析、抓包分析、代码混淆及应用加固,并结合 jadx、apktool、readelf、GDB/LLDB、Frida、Burp Suite 等工具给出命令和代码。Crackmes 目录收录 OWASP UnCrackable 与 r2pay 练习应用的副本,另有社区贡献的印度尼西亚语译本与已发布课程对应。

单页汇集 30 个带注释的 Ghidra Python 脚本示例,按任务分组:项目、程序、函数与交叉引用、基本块、指令、栈变量、反编译输出、注释、P-code 模拟与导出、调用图和程序切片。示例从 Flat Program、Flat Decompiler 和 Flat Debugger API 入手,再说明哪些任务需要 Ghidra 更完整的 API;大多数示例附有输出样例。

二进制完整条目

leonjza 编写的 Frida 二进制插桩入门工作坊,课程页面由一个 Docker 容器离线提供,容器内已预装带 GEF 的 gdb 和 frida-tools。三个章节从一个小型 Linux C 程序、LD_PRELOAD 钩子以及库函数调用如何经由 PLT 和 GOT 解析讲起,再到用 Frida 的 Interceptor 读取参数和修改返回值、用 NativeFunction 调用程序自身的函数、编写 Python 注入工具、RPC 导出、TypeScript 代理,以及 frida-server 和 frida-gadget。课程有意不涉及 Frida 在移动应用上的用法,所有练习都针对工作坊自带的示例程序。

二进制完整条目

mytechnotalent 编写的免费英文课程,讲解 Raspberry Pi Pico 2(RP2350,Arm Cortex-M33)固件的开发、调试与逆向。14 周的课程大纲配有幻灯片、Markdown 笔记和 40 章 PDF 教材,按“编写、调试、再破解”的模式,从 hello world 讲到变量、数据类型、常量、运算符、条件语句、结构体和函数,使用 GDB 配合 OpenOCD 以及 Ghidra,第 4 周起的笔记另有 Binary Ninja 和 IDA 版本;练习围绕 I2C LCD、GPS、LoRa 无线模块、舵机和红外遥控展开。计分 CTF、剧情式“机密简报”挑战和一个安全启动自定义引导程序均以作者构建的二进制文件形式提供,并附有源码。

作者记录了如何解析 Cobra iRAD 900 雷达测速预警器的蓝牙 RFCOMM 协议,使 Raspberry Pi 3 无需 iOS 或 Android 应用即可接收警报。作者在越狱 iPhone 上用 BTServer 记录通信,再用 Wireshark 过滤;README 随后说明预警器每半秒发送的状态载荷,以及 9 字节的回复报文,其中 ACK 字节必须回显预警器发来的序号字节;对于连接初期的设置同步,则直接重放录制的响应而不加解析。这是一个面向初学者的 RFCOMM 流量分析简短案例,附带粗略的概念验证脚本,并非持续维护的客户端。

一份自 2021 年起维护的单 README 笔记,作者是与厂商无关的设备用户,记录 LinkPi ENC 系列视频编码器和 TBS 2603SE 的内部结构;这些设备共用同一条固件线,作者最初的设备采用搭载 HiSilicon Hi3520DV400 的 F3520D 主板。内容涵盖 Linux 系统与 PHP 网页界面、未公开功能和内部页面、对讲与 tally 接口、默认账户与网络服务及加固步骤、HiSilicon 媒体管线诊断、包括 UART 在内的主板引脚定义、固件恢复,以及 2020 至 2026 年固件更新的翻译版发布说明。

ReverseJS 博客 2022 年系列文章的配套代码,该系列讲解如何借助 Babel 操作抽象语法树来反混淆 JavaScript。每个目录都包含一个小型混淆样例、对应的反混淆脚本及其输出,主题涵盖字符串隐藏(转义序列、字符串拼接、字符串数组和字符串加密)、常量折叠(含 JSFuck 风格代码)、常量变量替换、方括号属性访问改为点号访问、死代码删除、代理函数以及逗号序列表达式。README 将其定位为简短的学习示例,而非可用于生产的反混淆工具。

mrexodia 发布的三个实例,展示语言模型借助他编写的 IDA Pro MCP 服务器在 IDA Pro 中逆向分析 crackme 二进制。每个文件夹都包含输入二进制、说明其来源、所用提示词和模型的 README、智能体自己撰写的报告以及导出的会话记录,读者可以逐一查看智能体对数据库的每次工具调用、重命名、类型修改和注释。三个任务分别是一个简单的 Linux 密码校验程序、一个经过混淆的 Linux flag 校验程序,以及一个 Windows crackme;据智能体的报告,它借助向量化异常处理来执行校验。

二进制完整条目

OpenGarages 开发的仪表盘模拟器,可在 Linux 虚拟 CAN 接口上练习 CAN 总线逆向分析,而无需真车。一个 SDL 窗口绘制仪表盘,其车速表、转向灯和车门锁指示会根据它监听到的 CAN 帧变化;另一个控制程序把手柄或键盘输入转换成这些帧,并回放一段录制的通用 CAN 流量作为背景噪声。训练模式下,两个程序依据共享的随机种子打乱各信号对应的仲裁 ID 和字节位置,最高难度还会在目标报文中加入额外的随机数据,学习者必须自己找出相关报文。

CNNPRE 的研究代码与数据。CNNPRE 是 Javad Garshasbi 与 Mehdi Teimouri 于 2023 年发表在 IEEE Access 上、用于协议逆向工程的报文类型识别方法。仓库中唯一的 Colab 笔记本把每条报文补齐后的比特串转为缩放的灰度图像,借助在 ImageNet 上预训练的 ResNet50 进行迁移学习以提取特征,加入报文方向和长度分组编码,用 UMAP 降维后再以凝聚聚类和 HDBSCAN 对报文聚类,并将各聚类结果与已标注的报文类型比较评分。笔记本附有从 ARP、DNS 到 SMTP、GSM 等十二种协议的预处理报文数据集。

RPISEC 学生团队 2015 年秋季在伦斯勒理工学院(Rensselaer Polytechnic Institute)开设的恶意软件分析课程资料,课程以《Practical Malware Analysis》一书为主线。12 讲内容从基础静态与动态分析、x86 与 IDA 讲起,经过 Windows 内部机制、恶意软件行为、数据编码、隐蔽启动、反反汇编、反虚拟机与反调试、加壳与脱壳,一直讲到 Windows 内核和 rootkit 技术;另有 10 个实验和 4 个项目,涉及运行时进程操控、自动化脱壳和 APT 样本分析。

二进制完整条目

逐字节剖析各类文件格式的海报与图解合集,以 PNG 和 PDF 图片发布。二进制海报涵盖可执行文件(ELF、DOS COM 与 EXE、NE、LE、PE、Mach-O 及 fat Mach-O、Java class、Dalvik DEX、Python 字节码、SWF、GameCube/Wii DOL 和 Switch NRO),以及图像、视频、压缩包、文档、音频和序列化格式,另有 x86 与 x64 操作码图表和 Dalvik、JVM、.NET 操作码表。讲解更详细的 101 系列介绍 PE、ELF、Mach-O、ZIP、Java class、PDF、COM 和 WAV 文件,并附 Inkscape 源文件和概念验证文件。

二进制完整条目

No Starch Press 于 2012 年 2 月出版的书籍,以动手实践的方式讲解恶意软件分析:从在虚拟机中运用基础静态与动态分析技术入手,进而讲解用 IDA Pro 进行 x86 反汇编、用 OllyDbg 调试以及用 WinDbg 进行内核调试。后续章节涵盖恶意 Windows 程序、隐蔽启动、数据编码、网络特征、反反汇编、反调试与反虚拟机技术、脱壳、shellcode、C++ 和 64 位恶意软件;书中配有附解答的动手实验,让读者剖析恶意软件样本。

二进制完整条目

一套 Windows 恶意软件分析培训的幻灯片与练习,通过编程、逆向工程和 Windows 内部机制帮助学员理解常见的恶意软件技术,并演示如何用各种分析工具达成特定分析目标。第 1 单元涵盖编译、PE 格式、进程、WoW64、shellcode 和 PE 加载器;第 2 单元介绍恶意软件的目标与战术、挂钩、持久化和银行木马;第 3 单元介绍规避与自我保护以及指纹识别,混淆、反挂钩、反混淆和内核态组件等内容尚在计划中。

二进制完整条目

T2 platform research 通过静态分析、硬件观察和驱动比对,整理 Apple T2 的固件、硬件及 Linux 所需接口。研究章节覆盖 Secure Enclave 服务、启动与恢复、图形、音频、传感器和存储等子系统。机器可读的研究发现和主板索引将结论与证据关联,并标明适用范围;仓库还提供部分消息格式的 Python 参考代码。

固件 · 协议完整条目
↑↓ 移动↵ 打开⌘↵ 新标签页