news 2026/10/12 4:03:49

一条命令接入 REA:让 AI Agent 替你做逆向工程完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一条命令接入 REA:让 AI Agent 替你做逆向工程完整指南

一条命令接入 REA:让 AI Agent 替你做逆向工程完整指南

【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

REA(Reverse Engineer Anything)是一款开源 MCP 工具:它把 Hopper、Ghidra 等分析引擎接入你的 AI Agent,让你直接用一句自然语言问"这个应用的登录是怎么实现的",Agent 便在本地完成逆向分析,并带着证据作答。

从一句真实提问开始

上手 REA 最快的方式,就是先给 Agent 提一句自然语言的问题。

比如竞品研究时你常会想:某款应用的登录体验做得很好,它到底是怎么实现的?传统做法是手动反编译、翻符号表、追调用链,再把功能逻辑人工拼出来,门槛高、耗时久。在 REA 里,你只需要对 Agent 说:

分析 /path/to/my-app 的登录流程:凭据如何提交、token 存在哪里、失败后走什么逻辑?

Agent 会在你机器上完成分析(目标文件不上传),返回登录相关的模块、路由、IPC 通道与原生桥接点,并且每个结论都附带对应的证据。

手工逆向的四个痛点怎么解决

把逆向交给 Agent 自动化,解决的是手工流程里最耗时的四件事:

  • 手动反编译:人工翻反编译器输出 → Agent 自动调用 Hopper、Ghidra 或 IDA,直接拿到伪代码、汇编与字符串
  • 人工追引用:在符号表里逐个找调用关系 → Agent 沿 def-use 图自动追踪,加载、存储、分支操作数都内联展示
  • 人工拼逻辑:功能结构靠人脑拼 → Agent 把观察、推断、未知项分开返回,缺失的关系不会被谎报
  • 环境配置繁琐:逐个安装配置分析引擎 → 一条npx rea-agents setup完成 MCP 服务注册与配套工作流指令安装

接入:装好、提问、或跑一条命令

从装到出结果只需要三步:

  1. 安装注册:确保 Node.js ≥ 22.19,运行npx rea-agents setup,选择你的 Agent(Claude Code、Codex、Cursor、Gemini CLI 等),审阅变更计划并批准。setup 会注册 REA 的 MCP server、安装匹配的工作流指令,并备份已有配置。provider 配置与手动 MCP 注册见 docs/installation.md。
  2. 重启 Agent 后提问:例如"分析 /path/to/app 的搜索功能如何工作,给我看证据,并在我的项目里实现类似功能"。
  3. 或直接在终端跑:对解包好的 JavaScript / ASAR 目录执行
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

立即得到模块、导入关系与证据。provider 选择、快照与脚本化的完整 CLI 参考见 docs/cli.md。

能问什么:按能力维度拆解

常见提问集中在四个维度:登录与功能路径、数据存储、版本差异、原生行为。

登录流程怎么问

对 JavaScript / Electron 应用,Agent 会调用analyze_javascript_application构建"JavaScript 应用图",再沿图追踪功能路径。你能拿到:登录相关模块、路由、IPC 通道、原生桥接点,以及逐项证据。跨层追踪的语义细节见 docs/javascript-application-workflows.md。

数据存在哪里怎么查

按三层回答:

  • JavaScript 层:从应用图中检索 localStorage、IndexedDB、文件写入相关的模块与调用点;
  • 原生二进制层:用trace_native_values沿 Ghidra 的 def-use 图追数据流向,分支操作数内联展示;
  • 包结构层:project-apple-application-graph投影 IPA / .app 的完整结构——可执行文件候选、签名路径、扩展与 Helper,见 docs/apple-application-analysis.md。

版本差异怎么看

compare_application_versions是内置的引导式工作流:给它两个已发布版本,它找出新增/变更的模块与行为,支持静态与运行时两种跟进验证。对 Android APK,还可以用 JADX 引擎查具体类与方法:

rea inspect-android-package /path/Example.apk rea trace-android-references /path/Example.apk example.MainActivity

命令说明与反编译结果的完整/部分返回标记见 docs/android-analysis.md。

原生二进制能追到什么程度

原生场景下,REA 会在 Hopper 内启动分析桥接,自动反汇编 Mach-O 二进制、标记入口点并解析__TEXT段:

伪代码、汇编、字符串、符号、调用与引用结果都会随证据一起返回。

答案靠什么支撑

REA 的核心设计是观察、推断、未知项三者严格分开:静态可达不等于运行时确实执行,缺失的关系不会被谎报为"没有该行为"。每条工具结果都内联携带 Evidence 记录,Agent 的解释可以直接引用字节级证据,而不是靠猜测。

关键概念含义
Evidence每条结论附带的字节级证据,Agent 可直接引用作答
观察 vs 推断实际看到的内容与由观察推导出的结论分开记录
未知项缺失或无法确认的关系如实报告,不虚构
引导式工作流investigate_feature、compare_application_versions等 6 个供应商无关的 MCP prompts

这套契约的细节见 docs/mcp-contracts.md。

适用范围与边界

REA 覆盖七类分析目标,每类返回的内容都有明确边界:

目标类型REA 能返回什么
原生二进制伪代码、汇编、字符串、符号、调用与引用(需 Hopper / Ghidra / IDA)
JavaScript / Electron模块、导入、源码映射、路由、IPC 与原生插件关系(无需原生引擎)
网站页面结构、脚本、网络观察、截图(需 Chrome 系浏览器)
网络抓包(HAR)请求、响应、暴露的载荷与来源定位
Android APK清单声明、类、反编译方法与引用
.NET 程序集元数据、CIL 指令、声明的原生依赖与构建对比(仅静态)
进程行为终端输出、交互、退出码与文件系统观察

静态 JavaScript 与 .NET 检查只读文件、不运行应用;运行时捕获会以你的用户权限运行或交互目标,各指南会说明具体影响。

落地使用要留意的四点

  • 保持更新:rea update更新 CLI;用npx的用户跑npx rea-agents@latest setup刷新注册。
  • 复用现有安装:Hopper 由 REA 按需拉起(macOS 首次运行可能弹授权对话框);Ghidra 与 IDA 复用你已装好的实例,setup 不会替你安装 Node、Java、Ghidra 等无关软件。
  • 隐私边界:目标文件只在本地分析;Agent 拿到的是工具结果,模型侧的数据政策属于你的 Agent 服务商。
  • 诚实的局限报告:Android 方法反编译会标注"完整/部分返回"与回退标记;重载方法存在歧义时 REA 直接拒绝而不是静默选第一个,输出天然带可信度分级。

接下来可以做什么

证据链跑通之后,竞品研究、安全研究与功能复现三条路都打开了:用investigate_feature工作流让 Agent 顺着功能追到函数级证据,再把逆向出来的行为直接移植成你自己项目里的实现——逆向的终点从"看懂"变成"用上"。

【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 4:03:29

基于SpringBoot的学生身体素质测评管理系统设计与实现全解析

每年到这个时候,总能看到一批人在折腾课设题目。如果你打开教务系统翻了半天,最后选中了“基于SpringBoot的学生身体素质测评管理系统”——这个题目其实选得挺聪明。学生体测是每所小学每学期的固定动作,业务逻辑清楚,技术栈又是…

作者头像 李华
网站建设 2026/10/12 4:02:45

Oracle 转 C# 实体类全攻略:三条生成路线选型与高频坑点排障

简介:面向C#开发者的Oracle实体类自动生成工具包,基于OracleCodeGenerator-master项目,帮助使用Entity Framework等ORM框架的开发者在C#中快速对接Oracle数据库,减少手写数据访问层代码,也适合入门者理解C#与Oracle交互…

作者头像 李华
网站建设 2026/10/12 4:02:10

无需项目代码:用独立IDEA插件从数据库表自动生成代码

简介:这是一款面向IntelliJ IDEA开发者的独立代码生成插件,尤其适合使用Spring Boot MyBatis框架的中高级Java工程师。插件不依赖任何现有项目代码,只需配置数据库连接并读取表结构,即可一键生成mybatis映射配置文件、实体类、Se…

作者头像 李华
网站建设 2026/10/12 4:02:06

POI-TL合并多个Word文档:数据合并与内容合并实战解析

简介:这是一份面向Java开发者的Word文档批量合并工具资料包,基于Apache POI与POI-TL实现.docx文件的读取、复制、样式处理与合成。资源围绕POI-TL核心用法,覆盖XWPFDocument对象创建、段落与表格遍历、样式保留、结果输出及模板变量动态填充等…

作者头像 李华
网站建设 2026/10/12 4:00:48

Linux挖矿木马kdevtmpfsi深度分析与实战清除指南

1. 项目概述:kdevtmpfsi不是内核进程,是伪装成内核线程的挖矿木马“服务器中kdevtmpfsi挖矿病毒及其解决方法”——这个标题一出现,很多运维同学第一反应是:“又一个杀不干净的顽固挖矿进程”。确实,kdevtmpfsi这个名字…

作者头像 李华
网站建设 2026/10/12 3:59:52

06 · VRAM 驻留窗口的两个坑

06 VRAM 驻留窗口的两个坑 一句话:显存装不下整模型时,要让设备侧只保留一层有界工作集——但「驱逐」这件事有两个反直觉的坑:驱逐未来层会让代价对 keep 完全平坦,用 cudaFree 做驱逐的同步抖动比省下的重传还贵。 前置&#x…

作者头像 李华