AI 逆向工程:18 个仓库,12 个在 ChatGPT 之前就存在
一条推文列了 18 个逆向仓库,12 个在 ChatGPT 之前就有。新的不是工具,是那层 MCP 桥和验收流程。
一条 2026-11-01 的推文说:REA 的作者刚甩出 20 个仓库,够你搭一间逆向工程工作室。 180.4K 浏览、3.7K 收藏。
我把 20 项挨个点开核对:18 个是 GitHub 仓库,另外 2 项是流程(作者写的调查提示词、一套"干净重建"循环)。18 个仓库里,12 个在 ChatGPT 之前就存在——mitmproxy 2010 年、ILSpy 2011 年、radare2 2012 年、jadx 2013 年;2026 年新建的只有 3 个(REA 加两张清单)。18 个仓库星标合计 883,789。
所以这条推文的重点被放错了位置。真正的新闻不是"20 个仓库",是那层把老工具接给 agent 的桥:18 个里原生带 MCP 的只有 3 个,剩下 13 个要么靠命令行脚本,要么靠人把反编译结果贴进对话。仓库是旧的,接线是新的。
下面逐个说清楚:它是什么、能干什么、什么时候轮到你用它,以及在 2026 年它是否还是那个位置上的第一选择。
先把 18 个摊平
| # | 仓库 | 建库 | 星标 | 语言 | 许可 | 一句话 |
|---|---|---|---|---|---|---|
| 1 | morluto/rea | 2026-04 | 421,106 | TypeScript | MIT | 单个 MCP,把 agent 接到已有分析引擎 |
| 2 | NationalSecurityAgency/ghidra | 2019-03 | 97,009 | Java | Apache-2.0 | 免费反汇编 + 反编译框架 |
| 3 | LaurieWired/GhidraMCP | 2025-03 | 11,705 | Java | Apache-2.0 | Ghidra 插件,让 agent 操作 Ghidra |
| 4 | mrexodia/ida-pro-mcp | 2025-03 | 13,293 | Python | MIT | 把 agent 接到 IDA Pro |
| 5 | skylot/jadx | 2013-03 | 51,477 | Java | Apache-2.0 | APK 里的 dex 反编译回 Java |
| 6 | iBotPeaches/Apktool | 2012-03 | 26,924 | Java | Apache-2.0 | APK 拆包、改完再打包 |
| 7 | frida/frida | 2013-04 | 22,607 | Meson | 自定义 | 运行时插桩,跑起来再 hook |
| 8 | icsharpcode/ILSpy | 2011-02 | 26,915 | C# | MIT | .NET 反编译器 |
| 9 | radareorg/radare2 | 2012-07 | 25,248 | C | LGPLv3 | 住在终端里的逆向框架 |
| 10 | x64dbg/x64dbg | 2015-04 | 50,156 | C++ | GPLv3 | Windows 用户态调试器 |
| 11 | WerWolv/ImHex | 2020-11 | 55,710 | C++ | GPL-2.0 | 带模式语言的十六进制编辑器 |
| 12 | angr/angr | 2015-08 | 9,281 | Python | BSD-2 | 符号执行引擎 |
| 13 | mitmproxy/mitmproxy | 2010-02 | 46,562 | Python | MIT | 能解 TLS 的中间人代理 |
| 14 | dnSpyEx/dnSpy | 2021-05 | 11,398 | C# | GPL-3.0 | .NET 调试器 + 程序集编辑器 |
| 15 | rizinorg/rizin | 2020-09 | 4,097 | C | LGPL-3.0 | radare2 的分叉 |
| 16 | EpicGames/raddebugger | 2024-01 | 8,743 | C | MIT | 原生多进程图形调试器 |
| 17 | zhuyansen/awesome-ai-reverse-engineering | 2026-10 | 33 | — | 见仓库 | 122 个(README 写 117)AI 逆向仓库清单 |
| 18 | morluto/awesome-reverse-engineering | 2026-10 | 1,525 | Python | CC0-1.0 | REA 作者维护的经典清单 |
数据来源:GitHub REST API,2026-11-02 快照。星标每天都在动,看这张表请记住日期。
开工前先把界线划上。 下面所有工具都只该用在你拥有、或书面授权的软件上:互操作性研究、安全审计、恶意样本分析、无源码老系统的维护、软件保存。REA 自己的免责声明写的是"合法的研究、教育、互操作与软件保存";Apktool 的 README 第一段就写了"不是为盗版和其他非法律用途准备的"。本文不提供破解、绕过授权、分发修改包的指导,只讨论合法的分析怎么做、用什么做、怎么验收。
一、分析内核:1 个 MCP,3 个反编译器入口
这节要证明:agent 能不能"自己看二进制",取决于有没有人把反编译器的能力包成工具。内核这一组就是那条接线的四种做法。
REA:一个 MCP,接上你已经有的引擎
morluto/rea 是整条推文的落点,也是唯一一个 2026 年新建还进了内核的。
它做的事一句话说完:你的 agent 通过 MCP 提出"这个功能怎么实现的",REA 在本机调分析工具,把结论连同证据和限制一起返回。跑 npx rea-agents setup 会注册 MCP 服务器并装上配套的调查指令,支持 Claude Code、Codex、Cursor、Gemini CLI 等;命令行是同一套工作流,分析全在本机,不上传目标文件。
它能分析的目标比"二进制"宽:
| 目标 | 返回什么 | 需要什么 |
|---|---|---|
| 桌面安装包 | 运行时候选、支撑文件、组件标记、下一步探测点 | 内置目录/文件头检查 |
| 原生二进制 | 伪代码、汇编、字符串、符号、调用与引用 | Hopper / Ghidra / IDA / Kuna 任一 |
| JS / Electron | 模块、导入、源码映射、路由、IPC 与原生插件关系 | Node + npm,不需要反编译引擎 |
| Go 二进制 | 编译器版本、模块、replace、构建设置 | 内置 ELF/PE/Mach-O 静态检查 |
| GPU 代码对象 | CUDA/HIP 目标、内核参数与资源、PTX 文本 | 内置 |
| 模型文件 | GGUF / safetensors 元数据、张量声明与推算总量 | 内置 |
| Unity IL2CPP | global-metadata.dat 的程序集镜像、类型与方法名 | 内置(版本 24/27/29/31/39) |
README 里挂了三个完整案例:DX-Ball 的声像计算(重建后的实现通过 3,205 个原始 x86 用例,并复现了全部 63 字节编译函数)、Notion 的 Electron 剪贴板桥(渲染进程 → preload → IPC → 主进程逐跳跟下去)、TH04 那款 PC-98 游戏的弹环角度计算(16 位指令 + 与当年编译器输出对照)。
它也是这批工具里设计最"agent 原生"的一个:结果必须带证据,证不出来的要标成未知。这条纪律比多接三个工具重要——没有证据的伪代码阅读,只是在把自己的猜测说得更流利。
边界也说清楚:原生深度分析要你已有的 Hopper / Ghidra / IDA / Kuna,商业引擎的许可证自己买,REA 不提供 key,也不支持破解版。MCP 只是通道,"这个结论对不对"始终要你验。
Ghidra:免费那一档的天花板
NSA 开源、2019 年 3 月上的 GitHub,Apache-2.0,Java 写的反汇编 + 反编译框架,97,009 星。
它在这条链上的价值不在 UI,在可编程:headless 模式能在没有界面的情况下批处理二进制,脚本可以用 Java 或 Python 写,反编译器是独立组件。反过来说,没有这两样,任何 agent 都不可能"调用 Ghidra"——只能你去点按钮、再把结果复制出来。
代价也真实:启动慢、Swing 界面停留在十年前、大工程吃内存。但它是免费档里唯一"能力够、接口够"的选择。
GhidraMCP:把 Ghidra 的按钮变成工具
LaurieWired/GhidraMCP(2025-03,Apache-2.0,11,705 星)由两部分组成:一个 Ghidra 插件,一个 Python 写的 MCP 客户端。装完在 Ghidra 里把 HTTP 服务打开,agent 就能反编译、自动重命名方法和数据、列出方法/类/导入/导出。
它是"人机协作"形态里最省事的一种:agent 读一段伪代码,顺手把 FUN_00401a20 改成 decode_packet,下一个函数读起来就顺了。这类改名的价值被低估——逆向里一半的时间花在给未知的东西起名字上。
硬约束是版本:README 明确要求 Ghidra 12.1.4。插件与宿主版本强绑定,Ghidra 一升级就得等适配,这是所有 Ghidra 插件的通病。
ida-pro-mcp:作者自己让位给了官方
mrexodia/ida-pro-mcp(2025-03,MIT,13,293 星)把 IDA Pro 接给模型:要求 IDA 8.3 以上(9 推荐),IDA Free 不支持,Python 3.11 起。它能在无界面的 worker 与已打开的 GUI 之间选后端——文件已经开着就接管那个实例,没开就另起一个,这对大工程很实用。
这条推文没提的一件事:作者在自己的 README 顶部建议改用 Hex-Rays 官方的 IDA MCP Server(HexRaysSA/ida-mcp,1,516 星,2026-08 建库)。这是 18 个仓库里唯一一个"作者主动让位"的,也是判断工具寿命最硬的信号——上游厂商亲自下场做桥,第三方桥的维护窗口就开始倒数了。
桥的设计决定了 agent 能看到什么。 同一份二进制,Ghidra 给伪代码和交叉引用,IDA 给更准的类型与调试信息;桥如果只暴露"反编译这一个动作",agent 就只能做摘要,做不了追踪。
二、移动端与 App:把包装拆回源码
这节要证明:Android/iOS 的分析是一条三段流水——解包、反编译、运行时验证,任何一段缺失都只能看到一半。
jadx:APK 里的 dex 反编译回 Java
2013 年建库,Apache-2.0,51,477 星。jadx-gui 打开 APK 就能点着看,命令行版适合批处理;带反混淆、能把看不清的类回退到 smali。你要读"这个 App 怎么算签名",第一步几乎总是它。
Apktool:拆开还要能装回去
2012 年建库,Apache-2.0,26,924 星。jadx 只读代码,Apktool 连资源一起拆:resources.arsc 能还原到接近原始形态,9-patch 图、清单文件都能改,改完重新打包成可安装的 APK,还能对着 smali 单步调试。
这两者的分工很清晰:读逻辑用 jadx,改资源或改 smali 用 Apktool。
Frida:跑起来才知道真相
2013 年建库,22,607 星,许可在仓库里单独声明。它做的是动态插桩——把脚本注入到运行中的进程,hook 函数、看参数、改返回值,不用改安装包。
静态分析看不到的东西全在这里:加壳之后真正的类在哪、签名函数的入参是什么、证书绑定怎么校验的。这也是攻防最激烈的地方(root 检测、调试检测、反 hook),在授权设备上是安全评估的标准手段,在别人的 App 上就是另一回事了。
ILSpy:推文放错格子的那个
推文把它归到"移动端与 App"。ILSpy 是 .NET 反编译器(2011 年建库,MIT,26,915 星),它的主战场是桌面 .NET——除非你的"App"是 Unity、MAUI、Xamarin 这类 .NET 出的包。
值得知道的一点:它不只是一个应用。ICSharpCode.Decompiler 是独立库,Visual Studio 2022/2026 里那个默认开启的 F12 反编译,用的就是它的引擎。桌面版跨 Windows/Linux/macOS(Avalonia)。
移动端没有"一个工具搞定"这回事:读 Java 层用 jadx,改包和资源用 Apktool,运行时真相用 Frida。三件都要,缺一件就只能猜。
三、二进制与底层:四个性格完全不同的人
这节要证明:这一组不是可以互相替代的四个选项,而是四种不同的工作方式——命令行、调试器、十六进制、符号求解。
radare2:住在终端里的框架
2012 年建库,LGPLv3,25,248 星,当前 master 是 6.2.5。它自称"给 Unix 极客的自由逆向框架",导语里那句"r2 是 radare 的完全重写"说明了它的血统:从一个取证用的十六进制编辑器长成了完整工具链。
真正好用的是它的组合性:rabin2 看文件结构、radiff2 比两个版本、rasm2 汇编/反汇编,全部输出可管道;r2pipe 让脚本直接驱动。想"批量跑一百个样本"的人,最后基本都会用它。
x64dbg:Windows 桌面上的固定工位
2015 年建库,GPLv3,50,156 星。Windows 用户态调试器,界面像 OllyDbg 的后代,插件 SDK 成熟,条件断点、内存断点、反汇编与栈回溯都是为"手动定位"设计的。
它和 agent 的距离最远(没有官方 MCP),但很多判断只能在这里做:这个分支到底走不走、这个结构体在运行时长什么样。
ImHex:把"格式"写成可执行的解析器
2020 年建库,GPL-2.0,55,710 星。十六进制编辑器不少,它特殊在模式语言:把文件格式写成 .hexpat 规则,编辑器按规则把字节渲染成结构化的树,改字段能直接改回文件。带数据检查器、反汇编视图和插件系统。
逆向里最耗时间的活是"这堆字节是什么结构",模式语言把它从一次性劳动变成可复用资产——同一个格式第二次出现时,你已经不用再猜了。
angr:用符号执行换掉试错
2015 年建库,BSD-2,9,281 星,出自 UCSB Seclab、ASU SEFCOM 和 CTF 战队 Shellphish。它把指令翻译成中间表示,用符号变量代替具体输入,让求解器反推"什么输入能走到那条分支"。
这在三类任务上极强:绕过输入校验、找崩溃触发条件、CTF 里反推判定逻辑。也极容易误用——路径爆炸让它在真实大二进制上慢到不可用,"符号执行"不是"自动找漏洞"按钮。
同一段机器码,四个人给你四种东西:r2 给你可脚本化的结构,x64dbg 给你运行时的真实状态,ImHex 给你格式的确定解读,angr 给你"什么条件能到那里"。
四、运行时与网络:这一组里只有一个真的在做网络
这节要证明:推文的第 4 组("网络与执行")其实混了三种东西,按用途重排才用得起来。
mitmproxy:唯一名副其实的那个
2010 年建库,MIT,46,562 星。能解 TLS 的交互式中间人代理,三件套:mitmproxy(终端界面)、mitmdump(命令行,等价于 HTTP 的 tcpdump)、mitmweb(网页界面)。支持 HTTP/1、HTTP/2、WebSocket,addons 可以用 Python 拦截改写。
App 分析里它是第一现场:接口路径、请求签名、证书绑定(pinning)到底在哪一层做的,都从这里看。前提永远一样——设备和流量是你有权分析的。
dnSpyEx:原作者停更后的社区续作
2021 年建库,GPL-3.0,11,398 星。原 dnSpy 停止维护后由社区接手。它的定位不是"反编译器",是调试器 + 程序集编辑器:没有源码也能下断点、看变量、直接改 IL 重编译。
和 ILSpy 配合是最经典的组合:ILSpy 负责读,dnSpyEx 负责在运行中确认与验证。
rizin:radare2 的分叉
2020 年建库,LGPL-3.0,4,097 星。README 写得很直接:"诞生于 radare2 的分叉,专注于可用性、功能与整洁"。Cutter 图形界面的后端就是它。
它的存在本身是个判断依据:当一个框架的命令行哲学开始挡路时,会有人分叉重写;如果你的团队里没人熟 r2,rizin 的文档更好上手。
raddebugger:Epic 开源的原生调试器
2024 年建库,MIT,8,743 星。原生、用户态、多进程、图形界面调试器,Windows x64 为主。它的 README 明确说"这份文档讲的是技术架构,不是使用说明",用法在发行包里的另一份 README。
对逆向的意义:多进程调试在这类工具里不常见,而现代应用(Electron、游戏启动器、带辅助进程的客户端)恰恰是多进程的。
这一组真正的分类是:看流量(mitmproxy)、看运行时(dnSpyEx、raddebugger)、看结构(rizin)。 按"网络不网络"分,会漏掉两个最有用的。
五、重建与验收:清单和流程,才是新东西
这节要证明:推文里最值钱的不是任何单个仓库,而是最后两条——"怎么找工具"和"怎么证明你重建对了"。
两张清单,看清质量参差
zhuyansen/awesome-ai-reverse-engineering(2026-10 新建,33 星)是份"AI 逆向"专题清单。它的规则写得很清楚:反汇编/反编译 MCP 类 74 个、移动端 17 个、Web 与协议 4 个、逆向技能 18 个、用 AI 重建过的程序 4 个,合计 117 个(推文写 122,那是清单自己刷新前后的差异);50 星以上按主题直接入榜,50 星以下还要过 README 质量线(能跑、一条命令启动、有具体产出、文档完整);每 8 小时刷新一次。
值得抄的不是清单,是它的自我披露:入榜判断"由模型读 README 打分,不是人工"。这句话把一个 awesome list 从"权威背书"降级成"检索入口"——而它本来就该是这个位置。
morluto/awesome-reverse-engineering(2026-10,CC0-1.0,1,525 星)是 REA 作者自己维护的那份,覆盖二进制、App、固件、格式、协议,加上学习资源。两份一起看:一份按"能不能接 agent"切,一份按"东西是什么"切。
clean-room loop:把"看懂了"变成"验过了"
推文的最后两行其实是流程,不是仓库:
binary → REA → SPEC.md → rebuild → oracle → retry
四步里最容易被跳过的是中间两个:
- SPEC.md:把"我看懂了这个算法"写成一份可被检查的规格——输入是什么、输出是什么、边界条件、误差容限。写不出来,就说明你还没看懂。
- oracle:一组能反复重跑的用例。DX-Ball 那个案例里,oracle 是 3,205 个原始 x86 用例;重建后的实现全部通过,还额外复现了全部 63 字节的编译函数。
这套循环真正的价值,是把"逆向结论"从散文变成可证伪的断言。没有 oracle 的重建,只是一段读起来很像原文的伪代码。
六、我们的整理:按目标选工具,以及五条判据
这节要证明:18 个仓库不需要全装;真正决定成败的是"你有没有验收线"。下面是按目标类型整理的选择表,以及我们建议在开工前先回答的问题。
| 你要做的事 | 首选组合 | 额外条件 | 你其实在验什么 |
|---|---|---|---|
| 桌面 App / Electron 的功能怎么实现 | REA(JS/Electron 静态分析) | Node 22/24 | 模块边界与 IPC 链路 |
| 原生二进制的算法或格式 | Ghidra + GhidraMCP(或 IDA + 其 MCP) | 引擎许可 | 反编译结论 + 复现用例 |
| Android APK 的逻辑 | jadx + Apktool + Frida | 设备与样本授权 | Java 层逻辑 / 资源 / 运行时 |
| .NET 程序集 | ILSpy(读)+ dnSpyEx(改与调) | — | 程序集逻辑与运行时状态 |
| 自定义二进制格式 | ImHex 模式语言 | — | 结构假设能否被规则验证 |
| 请求签名与协议 | mitmproxy + Frida | 证书安装权限 | 流量与签名算法 |
| 特定输入能否走到某分支 | angr | — | 求解可行性(不是漏洞) |
五条判据,建议在装任何东西之前先过一遍:
- 有没有 oracle。 你能不能用一句话写清"重建成功后必须满足什么"。写不出来,先别开工。
- 有没有权利。 授权书、EULA、保密协议、竞业条款,哪一条允许你分析这个软件。
- 反编译产物是猜想,不是源码。 同一段伪代码对应的真实实现可能有多种,DX-Ball 那 63 字节之所以是硬证据,是因为它逐字节对上了。
- 星标不代表可维护。 421,106 星的 REA 和 33 星的清单出现在同一份推文里;真要看的是提交频率、issue 响应、版本适配——GhidraMCP 卡在 Ghidra 12.1.4,ida-pro-mcp 的作者已经让位给官方实现。
- 权限与供应链。 一个能读你整块磁盘、还能联网的工具,装之前先想清楚它跑在哪台机器、能读哪些目录。REA 的默认是本地分析,但这取决于你怎么部署它。
agent 在这条链上的位置,也要说清楚:
- 能做:把伪代码翻成可读摘要、批量改名与注释、跨函数追调用链、把 SPEC 写成测试、按 oracle 反复试。
- 不能做:替你判断授权与合规、替你确认"这段伪代码真就是那个算法"、替你决定这份软件该不该动。
它是把你从"读得慢"里解放出来,不是把"要不要负责"接过去。
边界
- 数据快照:18 个仓库的建库时间、星标、主语言、许可来自 GitHub REST API,抓取于 2026-11-02。星标随时变化,本文不构成任何工具排名。
- 推文:@robiartec,2026-11-01,西班牙语,180.4K 浏览(阅读时快照)。本文按 X 提供的英文翻译与 18 条链接原文核对,链接全部可解析;推文说"20 个",实际是 18 个仓库 + 2 条流程。
- 未做本地实测:本文没有安装或运行这些工具。DX-Ball(3,205 个用例、63 字节)、Notion、TH04 三个案例的数据引自 REA 仓库 README 与 rea.tools 的 showcase,属项目方自述。
- 推文的分组有误,本文已重排:ILSpy 不是移动端工具(它对应 Unity/MAUI 等 .NET 包);第 4 组"网络与执行"里只有 mitmproxy 是网络工具,dnSpy 是 .NET、rizin 是 radare2 分叉、raddebugger 是 Windows 调试器。
- 法律边界:本文只讨论对自有或已授权软件的合法分析(互操作、安全审计、样本分析、无源码维护、软件保存),不提供破解、绕过授权、分发修改包的指导。
- 本文由 Software 2.0 编译整理,转载请注明出处。
Sources
- 原推文:@robiartec,2026-11-01 https://x.com/robiartec/status/2116945895015231669
- REA:https://github.com/morluto/rea(README / DISCLAIMER / showcase)、https://rea.tools/
- 星标与许可数据:GitHub REST API
repos/<owner>/<name>,2026-11-02 快照 - 清单规则与分类计数:https://github.com/zhuyansen/awesome-ai-reverse-engineering
- 官方 IDA MCP:https://github.com/HexRaysSA/ida-mcp
- 封面:Wikimedia Commons《Seagate ST33232A hard disk inner view》,CC BY-SA 3.0
同主题阅读
- Agent 的大脑和手要分开:Claude 沙箱里从来不存凭证
- Agent 安全事故九起与六项控制
- DeepSeek super-agent:把「别打扰人」写成一张准入表
- 写一个生产可用的 MCP Server:从零到上线
这是「Agent / MCP」专题的一部分。完整地图见:Agent / MCP / 自动化完全指南