rea 逆向分析 CLI:让 AI 代理读懂无源码软件,一条命令跑通
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
你正面对一个没有源码的闭源 App,想弄清它某个功能的实现逻辑、再在自己的项目里复刻一份,可手里只有一堆读不懂的二进制文件。这正是 rea 这个逆向分析工具解决的问题:它把 AI 编程代理接上一整套逆向分析引擎与观察工具,通过 CLI(命令行)与 MCP(让 AI 调用外部工具的标准接口)双入口,你用一句话描述目标,AI 就会自己读、拆、分析,并把结论和证据交给你。
所有分析都在你本地机器上完成,返回的也不只是结论,而是"观察、证据、局限"三件套,让 AI 的每一步推断都可以被你逐条核对。两个入口底层走同一套分析流程,所以无论是代理调用还是你手动敲命令,得到的结果一致。
一句话定位:给 AI 代理的"逆向翻译官"
让 AI 代理无源码看懂闭源软件,并连证据一起交给你。
对入门读者,先交代两句行话:MCP 是 AI 与外部工具之间的统一接口协议,注册之后你只管"说人话",AI 自己决定调用哪个工具;CLI 则是传统命令行,自己指定目标路径和参数,结果可导出成 JSON 供脚本复用。rea 的价值在于这两个入口共用同一套分析实现,"聊天式"入口并不是功能阉割版。
核心机制:为什么"无源码"也能分析
可以把 REA 理解为 AI 与闭源软件之间的一座"多语种海关"。不同类型的软件说着不同的"方言":原生二进制说汇编,Electron 应用说 JavaScript,.NET 程序集说 CIL 指令,网站则说 HTML 与网络包。REA 自己并不通读这些方言,而是把每件"货物"转给懂行的检查员——原生方向交给 Ghidra、Hopper 或 IDA,Android 方向交给 JADX,网络包交给 tshark。
检查员干完活后,返回的不是原始工具日志。REA 把结果去专业术语化,打包成结构化发现:哪个函数、哪条调用链、证据来自哪个文件、哪部分仍不确定。AI 为什么会基于证据而不是凭空编结论?因为它拿到的是可核对的证据链而非黑盒输出,追问与复刻都以此为锚点。
能力边界检查:哪些直接能分析,哪些要装依赖
官方 README 列出了三十多种分析对象,按"额外投入"压缩成三档更清楚:
| 档位 | 能分析什么 | 前置条件 |
|---|---|---|
| 能直接处理 | JavaScript/Electron 静态分析、.NET 程序集、APK 签名、Go/Rust/PE/ELF 元数据、SQLite 数据库、模型文件元数据 | Node.js(22/24/26)+ npm |
| 需要额外依赖 | 原生深度分析(伪代码/汇编)、Android 反编译、固件解包、网站运行时观察、网络包分析 | Hopper/Ghidra/IDA、JADX、Binwalk/Unblob、Chrome 系浏览器、tshark 等 |
| 当前有限制 | Windows 平台原生分析(Ghidra 仍为实验性);目标必须是本地文件,不支持"只给个网址"的远程分析;IDA、Hopper 等商业引擎需合法授权 | 细节见官方文档 |
如果一样分析引擎都不想装呢?没问题:JavaScript、.NET 与签名校验这条静态路线不依赖任何原生引擎,只读文件,装好 Node 就能出结果。
无源码分析最短路径:一条命令跑通
零基础读者的路径只有三步:先安装 Node.js(22.x、24.x 或 26.x,npm 随之而来);然后在终端运行npx rea-agents setup,从列表里选中你使用的 AI 代理,审查并批准它提出的配置变更;最后重启代理,用一句话描述目标 App 和想弄清的功能即可。
想先不经过 AI 直接验证管线,可以在终端跑:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json把路径替换为你解压后的 Electron 应用目录或 ASAR 文件,结果会列出模块、导入关系与证据。
✅ 三个容易卡住的点:Linux 下 Ghidra、JADX 与固件相关功能要求 PATH 里有 procps 兼容的ps命令,先确认系统是否自带;macOS 上首次拉起 Hopper 会弹窗让你选择演示模式或激活授权,需在同一用户会话里处理完再跑分析;遇到 bug 时官方建议先执行更新命令再重试,因为版本迭代快,多数问题已在新版本修复。
红线与适用边界
官方 DISCLAIMER.md 明确 rea 只用于合法的研究、教育、互操作、软件保存,以及分析你自己拥有或获得授权检查的软件,并明确不支持绕过 DRM 与许可检查、开发游戏作弊、绕过认证或反机器人机制、复制专有代码。⚠️ 还有一条容易被忽略:反编译结果可能不完整或有误,拿到"类源码"输出并不授予你对原程序的任何权利——如果要把结论放进产品,先核对目标的权利状态。分析虽在本地执行,但你的 AI 代理背后模型提供商另有数据政策,这一层也别忽略。
下一步行动建议
不建议一口气装完所有东西。推荐路线:先通读 docs/installation.md,确认你的代理与系统环境在支持列表内;再找一个手头的 Electron 应用样本,用上面的示例命令跑一遍,熟悉输出形态;确定要深入原生方向后,读 docs/cli.md 了解 provider 选择与快照机制,最后再接入免费的 Ghidra。仓库 examples/ 与 tests/ 目录里的真实案例与预期结果,可以直接当作你的"动手验证"清单。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考