逆向一切的AIAgent,不用你会后悔一辈子!!!"

admin 2026-10-15 10:50:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

逆向一切的 AI Agent,不用你会后悔一辈子!!!

原创

网络安全透视镜
网络安全透视镜

网络安全透视镜

2026年10月10日 08:45
江苏

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

TOOL · 逆向实测2026.10

AI 面对闭源只能猜

给 AI 装上 眼睛

它就能读二进制了

Hopper · Ghidra · Electron · 固件 · 133 个工具

开源项目 · MIT 协议

OPEN SOURCEMIT 协议

3 个核心看点

滑动

CORE 01

一个 MCP 撑起整条链

架构与工作原理

CORE 02

12 类目标全都能拆

能力与案例

CORE 03

一条命令就能上手

安装与三种用法

看到喜欢的功能,弄清它如何工作。

一直深挖到二进制层面——本篇要讲的,就是这样一个把它做成 MCP 服务的开源项目。

最近看到一个很有意思的开源项目:TypeScript 编写

把 Hopper、Ghidra、IDA、JADX 这些专业逆向工具,全部封装成一个 MCP Server,让 AI 编程智能体(Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等)可以读懂一个应用——即使你手上只有编译后的二进制文件,完全没有源代码。

今天看看:它到底是什么、怎么装、怎么用。 下载地址见文末

01

PART

AI 看不到闭源的东西

THE PROBLEM · 痛点

大模型写代码很强,但它们的学习来源基本是公开的源代码。当你说“帮我实现一个和 XX 应用一样的搜索功能”时,如果 XX 是闭源的、或者是编译成 .exe / .dylib / .so 的原生二进制,或者是被打包压缩过的 Electron 应用,AI 就只能开始编——它会给你一个看起来很像的壳子,但里面的算法、边界条件、魔数一个都对不上。

让 AI 获得读的能力,而不只是写

它不提供代码,它提供证据。

...对比

没有该工具: 实现搜索功能 → AI 编一个大概 → 跑起来全是坑

有了该工具: 实现搜索功能 → AI 去逆向真实 App → 拿证据照着实现

官方文档里有一句话概括得特别准:

分析在本机运行,结果里带着支撑每个结论的证据,也带着这个结论的局限性。

它不靠猜,每一条结论都标明了依据和不确定的地方。

注意 limitations(局限性)这个词——这是 它和市面上大多数“AI 猜一猜”类工具的分水岭。它不装作自己什么都知道,它会明确告诉你哪些是观察到的事实、哪些是推断、哪些还不知道(unknowns)。

02

PART

一个 MCP 撑起整条逆向链

ARCHITECTURE · 架构

2.1 工作原理:智能体在中间,工具在下面

该工具的架构非常克制,可以用官方这张图概括:

— 工作流程示意图中文版:提问 → 检查追踪 → 读证据 → 用起来,带追问回环

翻译成中文就是四步:

步骤 发生什么
1. 提问 你在智能体里描述目标:应用 / 二进制 / 浏览器页面,加上你关心的功能
2. 检查与追踪 智能体通过 MCP 调用该工具,它驱动本地分析引擎去检查目标
3. 读证据 它返回代码、引用关系,以及明确的未知项
4. 用起来 智能体解释原理、写出实现、并测试

关键点在于:第 2 步和第 4 步之间是可以循环的(图里那个 Follow-up question 回环)。AI 看完证据发现“还不够”,会自己追问下一个问题,它继续挖——直到拼图完整。

2.2 下面是真实的 Hopper 界面

这不是概念图,这是 它真的在 Hopper 里跑起来的样子:

— 分析桥在 Hopper 中运行,左侧是反汇编的 EntryPoint 代码,底部终端是分析日志

底层这些真实的反编译产物——伪代码(pseudocode)、汇编指令、字符串、符号表、交叉引用(xrefs)——全部会结构化地返回给智能体。智能体读到的不是截图,而是可检索的文本数据。

2.3 关键设计:CLI 和 MCP 双入口

这一点很多人会忽略,但很重要:

MCP 模式

给智能体用,AI 自动调用

CLI 模式

给你自己用,可以在终端里手动敲,也可以写进脚本做自动化

CMD 该工具 analyze /path/to/program --provider ghidra --json

而且两条路径共用同一套工作流和同一套证据契约——CLI 里看到的结果,和 AI 通过 MCP 拿到的结果,格式和语义是一致的。这一点在工程上非常值钱,意味着你可以先用 CLI 手动摸清楚一个目标,再把结论喂给 AI,或者反过来。

2.4 项目分层架构

它不是一个套壳调 Hopper 的脚本,它的代码本身是一个严格分层的 TypeScript ESM 应用。依赖方向自上而下,最终收敛到无副作用的领域层:

— 分层架构中文版,依据官方架构文档整理绘制

这 8 层的设计意图值得单独说:

层 职责
入口层 CLI 适配器、MCP stdio 服务、可执行分发器。两个入口共用下面所有逻辑,保证行为一致
生产组合层 按需创建 provider 与 session 工厂,依赖只在真正需要时才加载
适配器层 MCP 请求翻译、Hopper 桥、Ghidra 桥、安装适配器,隔离外部协议细节
应用层 共享工作流、会话路由、提供方注册表、调查记录、快照缓存。Evidence 和 unknowns 的归属在这里管
提供方层 Hopper / Ghidra / IDA、pwntools / EVMole、JADX / Binwalk / .NET、CDP / Inspector
进程基础层 受控进程组、Windows 边界、Job Object,保证外部进程不失控、不残留
契约层 调用方可见的入参出参 schema,对外承诺的稳定接口
领域层 纯逻辑:证据、比对、应用图谱。无副作用、不依赖任何外层,因此可独立测试

值得留意的一个设计:提供方注册表(AnalysisProviderRegistry)是确定性选择、不自动回退。

也就是说,如果 它选定了 Hopper 但 Hopper 跑失败了,它不会悄悄换用 Ghidra让你误以为是同一个结果。这在安全分析里很重要——引擎换了,分析结论的可信度就变了,必须让你知道。

03

PART

能分析什么

CAPABILITIES · 能力清单

这是 它最让人惊讶的地方。它支持的目标类型之多,超过了大多数商业逆向工具的全家桶范围:

目标类型 它返回什么 需要什么
原生二进制 伪代码、汇编、字符串、符号、调用与引用 Hopper / Ghidra / IDA
JavaScript / Electron 模块、导入、source map、路由、IPC、原生扩展关系 只要 Node.js + npm
网站 页面结构、脚本、网络观察、按需截图 Chrome 系浏览器
.NET 程序集 元数据、CIL 指令、声明的原生依赖、构建对比 纯静态,无需引擎
Android APK Manifest 声明、类、反编译方法、引用 无头 JADX + 完整 JDK
固件 区域划分、提取结果、转交原生分析的内容 Binwalk / Unblob
EVM 字节码 分派选择器、字节偏移、推断参数、可变性 本地原始字节
离线 ELF 布局 节、段、原始符号 / 重定位、静态防护候选项 Linux x64 + pwntools
进程行为 终端输出、交互、退出码、文件系统观察、运行对比 Linux / macOS + 原生 PTY
软件包与资源 文件清单、摘要、plist、Apple bundle 结构 静态检查
已保存的网络捕获 请求、响应、可访问载荷、来源位置 HAR 文件
已记录的 Linux 崩溃 原始 note、各线程寄存器 / 信号、映射候选项 pwntools,可选 GDB / pwndbg

从 Windows PE / macOS Mach-O / Linux ELF 原生二进制,到 Electron 应用、Android APK、路由器固件、智能合约字节码,甚至连 16 位 DOS 老游戏(PC-98 时代的 TH 系列)都能分析。

一个细节值得单独提:Ghidra provider 甚至支持 16 位 DOS 程序分析。官方案例里,团队逆向了 PC-98 经典游戏 TH04 的弹幕环形角度算法,然后把重建的 C++ 代码和当年的编译器输出做了逐字节比对。

04

PART

什么叫真的逆向出来了

CASES · 三个官方案例

官方的 Showcase 里有三个案例,我挑最有代表性的讲。

CASE 01

DX-Ball:声像定位算法重建

SOUND PAN · 逐字节验证

追踪一个音效调用,找到根据位置计算声像(sound pan)的辅助函数,检查汇编指令,把不完整的伪代码翻译成 C。

重建代码通过 3,205 个原始 x86 测试用例,并复现了编译后函数的全部 63 个字节。

这不是“看起来差不多”,这是逐字节完全一致。这种级别的验证,只有在真正读懂了汇编的情况下才可能做到。

CASE 02

Notion:追踪 Electron 剪贴板桥

ELECTRON · 多进程调用链

找到渲染进程的剪贴板 API,沿 preload 和 IPC 一路追踪到主进程,检查富文本剪贴板数据格式。

这个案例展示的是 它处理 Electron 多进程架构的能力。Electron 应用的安全性一直是个谜(渲染进程能碰剪贴板吗?能读文件吗?),它能把这层调用链完整还原出来。

CASE 03

TH04:DOS 环形弹幕角度恢复

16-BIT · 老游戏逆向

检查 16 位指令,恢复固定角度和瞄准角度的计算逻辑,再和历史编译器输出对比。

05

PART

安装:一条命令,然后重启智能体

SETUP · 安装上手

5.1 前置条件

运行时

Node.js 22.x(≥22.19)、24.x(≥24.11)或 26+,外加 npm。注意 Node 23、25 和预发布版本不支持。它不会帮你升级 Node、npm 或 Homebrew

逆向引擎

只有原生二进制分析才需要 Hopper / Ghidra / IDA;静态 JS 和 .NET 分析完全不需要任何引擎

5.2 一条命令完成设置

CMD npx 该项目包名 setup

这条命令会做四件事:

1

让你多选要接入的智能体(Claude Code、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、VS Code、Grok Build 等 13 种)

2

打印出完整的变更计划给你审阅(改哪些文件、备份在哪、有没有外网访问、包管理器会执行什么命令)

3

你批准后才真正写入配置,并注册 该工具的 MCP Server

4

同时安装配套的工作流指令(skill),告诉智能体该怎么用它

几个值得注意的安全设计:

配置安全

配置写入会保留无关条目和注释,用原子替换,并且会创建 .rea.backup 备份。配置文件格式有问题时会阻断整个流程,避免把你的配置写坏

授权边界

检测到已有客户端 ≠ 获得授权:新检测到的客户端默认不勾选,必须你手动选。Hopper 是独立可选的选项,setup 会单独征求批准

只读预览

加 --dry-run 可以看计划但不落地,退出码 0

装完一定要重启智能体。MCP Server 是新注册的,不重启的话会话里看不到这些工具。

5.3 支持的智能体清单

客户端 --client 参数值
Claude Code claude\_code
Claude Desktop claude\_desktop
Codex codex
Cursor cursor
Gemini CLI gemini\_cli
Windsurf windsurf
Devin devin
OpenCode opencode
Antigravity antigravity
GitHub Copilot CLI copilot\_cli
Command Code commandcode
VS Code vscode
Grok Build grok\_build

Grok Build 用户注意:setup 会去编辑 ~/.grok/config.toml 里的 [mcp\_servers.rea] 段,并自动设置 startup\_timeout\_sec = 30。共享 skill 装在 ~/.agents/skills,本来就在 Grok Build 的 skill 路径上。

5.4 装全局 CLI

如果想经常在终端里用:

bash

npm install --global 该项目包名

该工具 --help

!小坑提醒

npm install 该项目包名(不加 --global)只会装到当前项目的 node\_modules/.bin,不会让该命令出现在你的 shell PATH 里。要么加 --global,要么就用 npx。

5.5 关于 Hopper 与 Ghidra

Hopper

独立商业软件,有自己的许可证。它会复用你已有的安装,也可以在你批准后帮你装(macOS 走 DMG,校验官方公布的体积和摘要后原子安装;Linux 走官方的 deb / rpm / Arch 包)

Ghidra 与 IDA

都是自带(BYO),它不会替你装。它会在需要时自动启动 Hopper,你不用手动先开着

支持基线

macOS 12+、Ubuntu 24.04+、Fedora 41+、64 位 Arch、CachyOS

06

PART

使用:三种典型姿势

USAGE · 实战用法

问智能体

最常用

→

CLI 静态分析

免引擎上手

→

CLI 原生分析

需配 provider

三条路径共用同一套工作流与证据契约

姿势一:在智能体里自然语言提问

装好之后,你只需要像平时一样跟智能体说话:

...prompt

弄清 Notes 应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能。

把 Notes 换成你的目标应用,描述你关心的功能就行。智能体会自动去调 该工具的 MCP 工具、读证据、追问、写实现、跑测试。

姿势二:CLI 静态分析 JS 与 Electron 应用

这条路径不需要任何逆向引擎,是最容易上手的:

bash

npx -y 该项目包名@latest analyze-javascript-application /absolute/path/to/app --json

Windows 下路径写法:把路径换成 \"D:/apps/example\" 这样的正斜杠形式。返回结果包含模块清单、导入关系、Electron 边界(main ↔ renderer ↔ preload)以及对应的证据。

姿势三:CLI 原生分析

...bash

看有哪些 provider 可用

该工具 providers --json

该工具 capabilities --json

分析一个二进制

该工具 analyze /path/to/program --provider ghidra --json

搜索字符串

该工具 search /path/to/program \"search\" --provider ghidra --json

看某个函数的完整档案

该工具 function /path/to/program main --provider ghidra --json

反编译指定地址得到伪代码

该工具 decompile /path/to/program 0x1000 --provider ghidra --json

查交叉引用

该工具 xrefs /path/to/program 0x1000 --provider ghidra --json

追踪某个功能调用链

该工具 trace /path/to/program \"search\" --provider ghidra --json

只要汇编指令的话用 该工具 instructions。macOS 的 .app bundle 可以直接传路径进去。

07

PART

几个值得单独学的设计

DESIGN · 工程细节

写到这里,我想单独拎出几个 该工具的设计细节。它们不性感,但恰恰是这类工具能不能被信任的关键。

SKILL 1

Evidence 是结构化的,不是散文

每一个结论都带着来源:观察到了什么(observation)、推断出了什么(inference)、哪些还没搞清楚(unknown)。而且支持导入、导出、对比:

...bash

该工具 evidence-import /path/to/bundle.json

该工具 evidence-export /path/to/bundle.json /path/to/canonical.json

该工具 compare /path/to/left.json /path/to/right.json

这意味着不同时间的分析结果、不同版本的 App,可以做结构化 diff——这是判断“我重建对了没有”的硬依据。

SKILL 2

Snapshot:把昂贵的分析结果缓存下来

...bash

该工具 analyze /path/to/program --provider ghidra --snapshot /path/to/analysis.json

再跑同样的查询,直接复用缓存,不重启引擎

只有当目标字节、操作、参数、provider、设置全部一致时才命中缓存;涉及可变状态和游标依赖的调用不会被缓存(这点很严谨,避免给你错结果)。

SKILL 3

Provider 选择是显式的、有状态的

...bash

该工具 analyze /path/to/program --provider hopper

export 分析引擎偏好=ghidra

MCP 里则是给 open\_binary 传 provider\_id。选定之后,这个 provider 会一直绑定在当前 session 上,不会因为运行时失败就被自动换掉——避免了“悄悄换了个引擎,你却不知道”的问题。

SKILL 4

就绪自检:doctor 支持按需体检

...bash

该工具 doctor --json

该工具 doctor --provider ghidra --json

该工具 doctor --client codex --json

该工具 doctor --skill --json

更重要的是文档里那句话——全量体检的 healthy: false不代表你的当前任务做不了。比如你没有 Hopper,但你要分析的只是个 JS 应用,那完全不影响。

SKILL 5

CLI 与 MCP 结果一致,但退出码语义严格

退出码 含义
0 操作完成。结果里可能含部分证据、警告或未解决问题
1 操作无法完成(无效输入、权限、取消、超时等)
128+N 被信号 N 终止

setup --dry-run 返回 planned 且退出 0;被取消也是 0;但 needs\_confirmation 或 needs\_human 返回 1。

!shell 技巧

想用管道后处理结果,务必先开 set -o pipefail,否则 该工具的失败状态会被下游格式化工具吞掉。

...bash

set -o pipefail

该工具 inspect-artifact ./app.asar --json | jq . > inspection.json

08

PART

更新与卸载

UPDATE · 维护

...bash

该工具 update

npx 该项目包名@latest setup

!容易踩的坑

该工具的 MCP 注册会固定(pin)到执行 setup 时的那个精确版本。所以升级之后要重启智能体,才能真正用上新功能。

卸载就是 该工具 uninstall,它会保留 Hopper 本体,只清理它自己的东西。

09

PART

关键信息速查

CHEAT SHEET · 收藏备用

项目 内容
项目地址 公众号回复「AI逆向」获取
协议 / 语言 MIT · TypeScript
Node 要求 22.x(≥22.19)/ 24.x(≥24.11)/ 26+
一键安装 npx 该项目包名 setup
免引擎起步 npx -y 该项目包名@latest analyze-javascript-application <路径> --json
支持智能体 Claude Code、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、VS Code、Grok Build 等 13 种
工具规模 上百个 MCP 工具,覆盖面见上文能力表

免责声明

该项目本身提供了合法的逆向工程研究、分析与重建工具。使用者需要自行取得必要授权并遵守适用法律。本文仅作技术介绍与学习交流,请勿用于任何非法或未经授权的用途。

另外提醒:项目官方在其 README 中明确声明——该项目从未发行或背书任何加密货币或代币,任何冒用该项目名义的 Token 均与本项目无关。

本文基于该项目公开文档与实测整理。项目迭代很快,涉及的功能细节请以官方文档为准。

///

LAST

写在最后

CONCLUSION · 结语

这个项目有意思的地方在于,它做的事情像是给 AI 装上眼睛。

在此之前,AI 面对闭源二进制基本只能靠猜。它把 Hopper、Ghidra、JADX 这些人类用了很多年的逆向工具,包装成 AI 能理解的接口,然后用 Evidence 把我看到了什么和我猜到了什么严格区分开。

它能被顶到高关注度,说明很多人有同样的需求。这也提醒我们一件事:让 AI 能读懂闭源世界这个方向,已经被证明是刚需。

如果你想试试,我建议的路径是:

1

装 Node.js(22.19+)

2

跑 npx 该项目包名 setup,只勾一个你常用的智能体,先不装 Hopper

3

找一个你熟悉的 Electron 应用,解包它的 ASAR,跑一次 analyze-javascript-application

4

看懂返回的模块图和证据结构之后,再决定要不要深入原生分析

GET THE PROJECT

想拿到这个项目的地址?

关注公众号

网络安全透视镜

后台回复 AI逆向 ,即可获取项目地址与完整资料

觉得这篇拆解还算清楚的话,欢迎点赞、在看、转发三连。

点赞

在看

转发

THANKS FOR READING


    逆向一切的AIAgent,不用你会后悔一辈子!!!" 网络安全文章

    逆向一切的AIAgent,不用你会后悔一辈子!!!"

    本文介绍一个将Hopper、Ghidra、IDA等逆向工具封装为MCPServer的开源项目,使AI编程智能体能够分析二进制文件、Electron应用、AndroidAPK等12类目标。工具采用分层架构,提供CLI和MCP双入口,支持证据追踪与局限性标注,安装简单。官方案例验证了其逐字节级逆向还原能力,适用于安全分析与应用逆向场景。
    漏洞预警:CVSS10.0|SonicWallSMA1000高危预认证SSRF漏洞CVE-2026-102255" 网络安全文章

    漏洞预警:CVSS10.0|SonicWallSMA1000高危预认证SSRF漏洞CVE-2026-102255"

    SonicWall官方发布安全公告,修复SMA1000系列远程接入网关多个漏洞,其中CVE-2026-102255为预认证SSRF漏洞,CVSS评分满分10.0。攻击者无需登录即可构造请求,通过网关访问内网资源,拿下内网横向入口。使用SonicWallSMA1000的政企单位请立即核查版本、部署热补丁。文章还提供了受影响版本、修复方案、自查清单及安全建议,强调远程接入设备是攻防主战场,需高频漏洞巡检并做好分层防御。
    登录即注册导致的幽灵组织成员漏洞" 网络安全文章

    登录即注册导致的幽灵组织成员漏洞"

    本文分析登录即注册机制导致的幽灵组织成员漏洞。系统删号后旧邀请未清理,新账号可接受邀请进入组织并获得编辑权限,但所有者成员列表不可见,形成有权限但不可见的幽灵成员。危害包括成员关系失控、数据泄露及持久性后门,建议清理邀请记录并校验账号一致性。
    评论:0   参与:  0