REA 入门指南:一条命令让 AI Agent 逆向二进制与 App,附原理拆解 REA 入门指南一条命令让 AI Agent 逆向二进制与 App附原理拆解【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREAnpm 包名rea-agents是一个本地逆向分析工具一套 CLI 加一个 MCP 服务器让 AI Agent 能直接分析原生二进制、JavaScript/Electron 应用、.NET 程序集、安卓 APK 和网页每个结论都附带证据。本文带你跑通安装后的第一次逆向分析再拆解一次调用在系统里走的完整链路。它替你接管的环节从看不懂到给证据传统流程是你看到某个功能想知道原理打开 Hopper 或 Ghidra手动反编译、逐函数跳转几小时后才敢下结论。REA 接管的正是这一段它把逆向引擎和一批自研静态分析能力封装成标准工具目录Claude Code、Codex、Cursor 这类编码 Agent 可以直接调用分析函数分析这个 App这样的操作拿回的结果自带证据、局限性和未知项。它同时注册rea与rea-agents两个终端命令你在命令行手动执行时走的是同一套底层工作流。所有分析都在本地运行目标不会上传商业引擎Hopper、IDA 等仍需你自己持有合法许可。确认能力圈哪些目标零依赖哪些要外部引擎分析对象你能拿到什么外部依赖原生二进制Mach-O/ELF/PE伪代码、汇编、字符串、交叉引用Hopper / Ghidra / IDA 三选一JavaScript / Electron模块、导入、source map、IPC 关系仅 Node.js纯静态.NET 程序集元数据、CIL 指令无安卓 APK清单、反编译方法与引用自带 headless JADXLinux 固件区域划分与提取结果自带 Binwalk / Unblob网页页面结构、脚本、网络观察Chrome 系浏览器 完整目标清单Go/Rust 二进制、SQLite、WASM、PCAP 等 20 余类见 README 的能力表 引擎的选择与配置入口在 docs/installation.md记住这条分界线JS 与 .NET 的静态分析零引擎依赖原生深度分析必须三选一——后面验证环境时就按这条线来。跑通第一次分析三条命令验证环境前置条件只有 Node.js22.19 / 24.11 / 26和 npm。npx rea-agents setup它替你做什么把 REA 的 MCP 服务器注册进你勾选的编码 Agent并安装配套的工作流指令包改动先预览、旧配置自动备份支持 Claude Code、Codex、Cursor、Gemini CLI 等客户端装完重启 Agent 即可。npx -y rea-agentslatest analyze-javascript-application /绝对路径/应用 --json它替你做什么不装任何逆向引擎直接对提取后的 JS/Electron 目录或 ASAR 做纯静态分析输出模块、导入关系、Electron 边界及其证据。这是验证最小依赖链路的最佳第一步。npx -y rea-agentslatest doctor --provider ghidra --json它替你做什么按任务范围做只读健康自检检查某一引擎、某个客户端注册或技能包确认分析引擎与 Agent 注册是否就绪。doctor 只读不改配置详见 docs/installation.md 的 readiness 一节。两种真实用法终端手动与 Agent 会话Agent 会话路径装好 setup 后直接在会话里用自然语言提需求例如弄清某 App 的搜索功能怎么工作给出证据再给我的项目实现一个类似功能。Agent 依据 npm 包内置的 reverse-engineer-anything 技能包 决定何时连 REA、何时先诊断按反编译 → 理解 → 复刻分步推进。技能还明确规定普通源码仓库的架构分析不该动 REA避免空转。终端手动路径npm install --global rea-agents后每个一次性命令都是独立进程结果用--json输出、可重定向到文件。大应用的完整证据可达数百 MBdocs/cli.md 给出做法证据存盘再用视图投影命令取出摘要或单个模块页而不把整个文件塞进上下文。两条通道走同一套应用层工作流与证据契约结果可以互相衔接。一次调用走了哪几步从接单到出报告把这套系统想成一家房产中介你报出需求前台把你导给专属经纪人经纪人为每套房建一个档案按房型派给不同的估价师最后你拿到的是一份带照片和瑕疵说明的报告而不是口头估价。前台只做导流对应 scripts/rea.mjs唯一的可执行入口只判断首参是不是mcp——是就加载长驻服务器运行时dist/mcp/main.js否则加载一次性 CLI 适配层dist/cli-runtime/cli.js。npm 发布时 package.json 的files清单只打包编译产物与桥接脚本测试和文档不会到用户机器上。经纪人管档案对应 src/application/CLI 与 MCP 共享的应用层每个分析目标绑定一个不可变会话同一目标的所有后续调用都挂在同一份档案上。证据账本、未知项追踪、doctor 自检与 setup 引导也都在这层。估价师按房型分派每种目标一个 Provider 模块——src/hopper/、src/ghidra/、src/ida/、src/dotnet/、src/android/、src/firmware/、src/browser/、src/process/各自负责启动、通信与结果归一。报告盖公章src/contracts/ 用 Zod 定义所有对外可见的输入输出 Schema底层 src/domain/ 全是纯函数——证据比较、摘要计算、应用图模块无副作用。所以同一个结论可以复现、可以跨版本对比。不改外部工具Node 如何指挥 Hopper 与 GhidraNode.js 没有 Hopper 或 Ghidra 的外部 API 可调。REA 的做法是把一小段脚本收编进外部工具进程内让它把 REA 的操作翻译成工具官方脚本接口的调用双方再走认证过的本地私有套接字对话。bridge/hopper_bridge.py 在 Hopper 进程内运行把操作翻译成 Hopper Python API 调用bridge/ghidra/ReaGhidraBridge.java 打包为 Ghidra HeadlessScript负责清单、反编译、交叉引用与控制流图bridge/android/ReaJadxBridge.java 对 headless JADX 做同样的事这样做的原因有三其一Hopper/Ghidra 只在进程内暴露稳定的脚本接口嵌入薄脚本比解析 GUI 或包装命令行更可靠其二外部工具升级时只需换桥接脚本主程序不动其三src/process/ 统一管理进程组、超时与清理被拉起的引擎不会跑野。工具目录则由源码自动生成CI 校验它与 docs/mcp-contracts.md 中 MCP 契约文档的一致性。收尾三个可以搬走的设计取舍薄入口、厚分层一个 mjs 只做路由底下是 MCP/CLI 适配、应用路由、Provider 适配、契约与领域五层见 docs/architecture.mermaid。代价是链路长收益是换引擎只动 Provider 层注入桥接而非改造工具小脚本 认证私有套接字把外部工具变成可插拔后端。局限是每种引擎的协议要按自身版本维护工具大版本升级时桥接可能短暂失效证据优先于结论结论自带证据、局限与未知项领域层纯函数保证可复现可对比——这是给 Agent 用的工具与给人用的 GUI最本质的差异也是它敢把结果直接喂给模型写复刻代码的前提适用场景分析你有权检查的软件且结论需要经得起追问。局限同样明确深度原生分析绕不开 Hopper/Ghidra/IDA 的许可一次性 CLI 调用不共享会话部分能力如 pwntools 适配器仅限 Linux x64。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考