Rea指南:347k星Agent逆向工程从App行为到Native二进制

📌 项目:https://github.com/morluto/rea | 星数:347k | 语言:TypeScript | 协议:MIT | 更新:2026-10-21

📋 项目简介

Rea是morluto开源的Agent驱动逆向工程框架,347k颗星,TypeScript编写,MIT协议。传统逆向工程依赖IDA Pro、Ghidra等工具的手动操作——反汇编、看汇编、命名函数、追踪数据流,每一步都需要专家经验且耗时。Rea的思路是用AI Agent自动化这些步骤:给Agent一个二进制文件或App,Agent自动反汇编、识别函数模式、重命名变量、追踪数据流、生成分析报告。这不是简单的"用AI看汇编",而是把逆向工程的完整工作流(静态分析、动态分析、行为监控、协议提取)编排成Agent可执行的步骤链。

安全研究和协议逆向方向值得关注,AI渗透测试可参考ARTEX AI渗透测试指南,反检测浏览器自动化可看Invisible Playwright MCP指南,桌面编程Agent可参考Omnirush编程Agent指南。

🔧 核心功能

Agent驱动逆向工作流:Rea把逆向工程拆解为Agent可执行的步骤链——输入二进制文件后,Agent先做格式识别(PE/ELF/Mach-O/Dex),然后反汇编提取函数列表,再用LLM分析函数语义(这个函数在做什么?参数是什么?返回值含义?),自动生成有意义的函数名和变量名。Agent能跨函数追踪数据流,识别加密算法、网络协议、文件格式。对于App行为分析,Rea监控App的API调用、网络请求、文件读写,把行为序列化为可分析的时间线,再由Agent推理App的完整工作逻辑。

多层级分析与报告生成:Rea支持从App行为层到Native二进制层的多层级分析。行为层:hook App的系统调用和API,记录运行时行为序列。二进制层:反汇编Native库,识别函数边界、控制流图、字符串引用。协议层:从网络流量中提取和重构造通信协议。每层分析结果由Agent汇总,生成结构化报告——函数清单、数据流图、协议规格、安全漏洞提示。报告可导出为Markdown或JSON,方便集成到CI/CD安全审计流程。Agent间的协作模式可参考AgentMemoryRepo记忆仓库指南。

插件生态与扩展性:Rea用TypeScript编写,插件系统支持自定义分析器——你可以写一个插件专门识别某种加密算法,或一个插件提取特定协议字段。Agent的行为可定制(prompt工程),让Agent按你的分析流程走。MIT协议允许商用,安全团队可以基于Rea构建内部逆向流水线。

⚖️ 优缺点

✅ 优势❌ 劣势
Agent自动化逆向全流程需要LLM API调用有成本
多层级分析(行为/二进制/协议)复杂二进制仍需人工复核
TypeScript插件生态可扩展Agent推理可能有误判
MIT协议可商用学习曲线对非逆向工程师偏高
自动生成分析报告

🔧 适用场景

❓ 常见问题

Rea能完全替代IDA Pro吗?

不能完全替代。Rea是Agent驱动的自动化辅助——它自动完成大量重复性工作(反汇编、函数命名、数据流追踪),但复杂逆向仍需人工判断。Rea更适合作为IDA/Ghidra的上层编排器,让Agent调用这些工具并整理结果。对于简单二进制(如小型SDK),Rea可能独立完成全部分析。

Agent逆向准确率怎么样?

函数语义识别准确率约70-80%(常见函数如memcpy/printf/加密函数识别率高),复杂业务逻辑函数准确率下降。Rea的设计是"先自动标注再人工修正"——Agent给出建议名称和注释,人工审核确认。数据流追踪和协议提取的准确率取决于流量样本的完整性。建议配合动态调试验证关键结论。

需要什么LLM模型?

Rea支持OpenAI、Anthropic、本地Ollama等多种LLM后端。反汇编分析建议用Claude或GPT-4级别模型(长上下文+代码理解强),简单函数识别可用本地模型降本。Agent调用频率取决于二进制复杂度,一个中等规模App的分析可能消耗50-200次LLM调用。建议用本地模型做初筛+云端模型做精分析的两阶段策略。