10+年产品经理专注分享AI 工具、AI 资讯、AI Coding、Vibe Coding与下一代产品创新,按 Ctrl+D 收藏我们
关于我 留言板 标签云 排行榜

苏米客

  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
    • AI智能体
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
  • 登录
  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
    • AI智能体
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
当前位置: 首页 » AI开源项目

REA:开源MCP逆向工程工具,让Claude代码分析二进制文件和Electron应用

1小时前 AI开源项目 11 0

REA(Reverse Engineer Anything)是一个开源 MCP server,可让 Claude 深入分析二进制文件、Electron bundle 和网站,并明确指出它无法确定的内容。它能把逆向工程工作交给 coding agent,你只需用普通语言询问 Claude 有关你电脑上某个应用的问题。

REA工作流

Claude 会调用 REA 的工具。REA 会返回代码、文件和行号引用,以及一份列出尚未解决问题的清单。该项目采用 MIT license,通过 npm 以 rea-agents 发布,并在本地进行分析。

REA 到底是什么

在底层,REA 是一个 MCP server。MCP,即 Model Context Protocol,是一种接口,让 Claude Code、Claude Desktop、Cursor、Codex 以及许多其他 agents 能够调用外部工具。

注册 REA 后,Claude 就能像使用常见的文件和 shell 工具一样,调用 open_binary 和 close_binary 等工具。设置过程还会安装一个 skill,其中包含调查步骤,帮助 agent 确定工作顺序。

REA架构

值得注意的是这项设计决策:REA 不是 decompiler。对于 native code,它会调用逆向工程师已经信赖的工具,例如 Hopper、Ghidra 或 IDA。对于 JavaScript 和 Electron,它会自行进行静态分析。对于网站,它会通过 DevTools protocol 驱动 Chrome 系浏览器。它本身负责的是编排和记录。

项目将这些记录称为 Evidence。每项结果都会记录发现的来源、直接观察到的内容、推断出的内容,以及仍未解决的问题。Claude 会读取完整记录,包括其中的缺口。这会影响你对它接下来给出的结论的信任程度。

支持的目标类型

开始之前

你需要 Node.js 22.19 或更高版本、24.11 或更高版本,或者 26 及以上版本。npm 会随 Node.js 一起安装。在 Windows 上,运行 winget install --exact --id OpenJS.NodeJS.LTS。在 macOS 上,使用官方 .pkg 安装程序或运行 brew install node。在 Linux 上,通过 fnm 安装。

在 Claude Code 中设置 REA

Claude Code 是使用 REA 的最佳环境,因为 Claude 还可以读取你的项目、运行构建,并在理解功能后编写其重新实现。

方式 A:让 Claude 为你安装:

Install REA and connect it to this coding agent using npx rea-agents@latest setup.
Show me the setup plan for approval, then verify the installation.

方式 B:自己运行安装向导:

npx rea-agents@latest setup --client claude_code

这个向导刻意设计得很谨慎。在修改任何内容之前,它会先显示计划:将编辑哪个配置文件、skill 将安装到哪里,以及是否需要安装 Hopper。

重启并验证:

npx -y rea-agents@latest doctor --client claude_code --json

你需要看到 "healthy": true。在 Claude Code 中,/mcp 会列出已连接的 servers;也可以直接询问:Check that REA is connected and show me which REA tools you can use.

在 Claude Desktop 中设置 REA

Desktop 也能用,但有一个注意事项:必须先彻底退出应用。只关闭窗口还不够。在 macOS 上按 Cmd+Q;在 Windows 上,还要通过系统托盘图标退出。然后在 Claude 之外打开终端,运行:

npx rea-agents@latest setup --client claude_desktop

添加 native 分析引擎

JavaScript、Electron、.NET、Go 和 Rust 目标不需要额外配置。编译后的 native code 则需要一个 provider。

Provider支持平台

Hopper(简单的选择):重新运行 setup 并勾选 Hopper。REA 会查找你已有的安装,或者建议下载官方软件包。Hopper 是商业软件,演示版存在供应商设定的限制。

Ghidra(免费,但有严格要求):REA 要求使用准确的 Ghidra 12.1.4,以及包含 javac 的 64 位 JDK 21 或更高版本。它不会替你下载 Ghidra 或 Java。设置好变量后,请在同一个终端中再次运行 setup。这样路径才会写入 Claude 的配置中。

IDA(自备 license):IDA 通过上游 IDA MCP server 接入。你需要在一个小型 JSON 文件中描述它,然后告诉 REA 该文件的位置。

第一次调查

给 Claude 发送以下内容:

Download https://rea.tools/examples/notes-example.zip into a new example folder and unpack it.
Use REA to find what happens when I click Export notes. Show where notes.csv is written,
which fields it contains, and the relevant files and lines.

REA 结果中的 IPC 部分如下:

{
  "literal_channels": 1,
  "renderer_transmissions": 1,
  "main_handlers": 1,
  "paired_renderer_transmissions": 1,
  "ambiguous_renderer_transmissions": 0
}

看最后一行。如果 channel 名称是在运行时通过变量拼接而成的,REA 就会将其标记为 ambiguous,而不是猜测对应关系。"无法将此项配对"的计数,比"找到了"的计数更有价值。

如何使用 REA 编写 Claude prompt

README 中的核心工作流是先理解,再构建:

Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.

对于编译后的程序,请指定 provider 和路径:

Use REA with Ghidra to inspect /absolute/path/to/program. List its functions and
strings, then explain the part that handles user input with references to the code.

对于打包后的 Electron app,将其 app.asar 提供给 Claude。在 Windows 上,它通常位于 AppData\Local\Programs\ esources。在 macOS 上,右键点击应用,选择"显示包内容",然后在 Contents/Resources 中查找。

以下几种习惯能明显改善结果:

  • 始终提供绝对路径;如果路径包含空格,请加上引号。
  • 明确要求 Claude 提供证据和未解决的问题,否则它可能会在总结时省略这些内容。
  • 如果安装了多个 provider,请指定名称,以免遇到选择不明确的错误。
  • 对于耗时较长的调查,请让 Claude 在关闭二进制文件时传入 snapshot_path,以便后续 session 复用已完成的分析。
  • 如果静态分析留下了未解决的问题,请改用 runtime observation:browser、Electron 或 process capture 工作流。

不通过 agent 使用 REA

全局安装 CLI:npm install --global rea-agents

配置好 provider 后可使用的 native 命令:

rea analyze   /path/to/program --provider ghidra --json
rea search    /path/to/program "search" --provider ghidra --json
rea function  /path/to/program main --provider ghidra --json
rea decompile /path/to/program 0x1000 --provider ghidra --json
rea xrefs     /path/to/program 0x1000 --provider ghidra --json
rea trace     /path/to/program "search" --provider ghidra --json

rea providers --json 和 rea capabilities --json 会告诉你这台机器上有哪些可用功能。Snapshots 可以帮你保存需要复用的结果:

rea analyze /path/to/program --provider ghidra --snapshot /path/to/analysis/program.json

REA 无法替你完成的事

REA 的 README 对其限制说明得格外直白,而这些限制恰恰体现了这个产品的实际边界。

法律方面:该项目将自身用途限定为合法研究、教育、互操作性、软件保存,以及检查你拥有或获准检查的软件。它不会授予 Hopper、IDA 或 JEB 的 license。

隐私方面:REA 在本地分析目标,不会上传你的应用。但 Claude 会收到工具结果,并根据模型 provider 自己的数据政策处理这些结果。

技术限制:REA 不会为你生成完美的重建结果。Ghidra 生成的伪代码不是原始源代码,REA 在自己的文档中也明确说明了这一点。无法解析的计算调用仍会标记为未知。

REA 提供给 Claude 的,是足够可靠的证据,让它能够编写重新实现并进行测试。这才是你应该带走的习惯:让 Claude 负责挖掘,每次都仔细阅读未知项清单,并随手准备好测试 harness。

REA证据清单

Github:https://github.com/rea-org/rea

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
未经允许不得转载:REA:开源MCP逆向工程工具,让Claude代码分析二进制文件和Electron应用
#开源 #MCP #逆向工程 #REA #Claude 
收藏 1
XERJ:7.2K Star的本地AI搜索引擎,一条命令索引整个文件替代Elasticsearch
YuE2:港科大开源3B音乐生成模型,可编辑乐谱+对话修歌打平Suno v5
推荐阅读
  • 20 个 GitHub Stars 合计近 80 万的 AI Agent Skills:拼出一套完整 Agent Stack
  • AI 起名 Skill 开源:基于八字五行的中国传统姓名学工作流
  • Kami 开源文档排版系统:让 AI 生成的报告拥有印刷品质感
  • IOPaint:开源免费AI图像处理平台,支持擦除、扩图、超分辨率全流程
  • AI Skills For Real Engineers:Matt Pocock 开源的 Agent 开发管线,GitHub 120K+ Star
评论 (0)
请登录后发表评论
分类精选
WeKnora:终于等到了腾讯ima的开源知识库框架,用 API 轻松打造本地智能文档检索
13043 1年前
OpenSpec:比 Cursor Plan 更聪明?试试这款让 AI 编码更靠谱的规范驱动工具
11044 1年前
CapCut API:一个剪映API开源项目,让AI自动剪辑视频
10894 10月前
AIRI:你的开源AI女友,让你随时拥有属于自己的 AI VTuber
9798 1年前
Antigravity-Manager:这个开源神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
9603 10月前
CompressO:开源免费的视频压缩神器,让你的硬盘瞬间轻松 10 倍
9121 1年前
就要创作:从提示词到创作团队,开源 AI 网文写作平台
9050 1年前
awesome-openclaw-skills:700+ Skills 一条命令装配完成,如何让本地 AI Agent 真正落地可用
8531 8月前
Claude Code 生成专业图表的 15 个 Skills:覆盖 7 种渲染引擎的完整指南
8457 6月前
baoyu-skills:又一个宝藏Skill,面向内容创作者的技能集,支持图文生成、发布与处理
8207 9月前

文章目录

关于苏米客
分类排行
1 REA+Reverse-skill+PentAGI三件套:用Codex逆向分析并复刻任何软件的完整工作流
2 SolidCraft:开源参数化3D CAD建模工具,支持浏览器运行+MCP接口+自动重算
3 anything2explainer:2小时生成科普MG讲解视频,代码渲染确定性视频全流水线
4 YuE2:港科大开源3B音乐生成模型,可编辑乐谱+对话修歌打平Suno v5
5 REA:开源MCP逆向工程工具,让Claude代码分析二进制文件和Electron应用
6 XERJ:7.2K Star的本地AI搜索引擎,一条命令索引整个文件替代Elasticsearch
7 Toonflow:1.6万Star的国产开源AI短剧平台,小说一键成片+MIT协议可商用
8 native-subtitle-quote-image:豆包工作+Skill自动化剪辑视频金句,自媒体内容流水线实测
9 ray-explainer:用Skill把观点变成带IP的解说视频,手绘白板双画风实测
10 lieflat-charts:5.7k Star的数据可视化Skill,3个场景让报告变海报
苏米客
登录 注册
显示
没有账号? · 立即注册
显示
已有账号? · 直接登录
登录代表你已同意 用户协议 和 隐私政策
©2015-2024 苏米客XMSUMI 版权所有 · WWW.XMSUMI.COM 闽ICP备14005900号-6 网站地图 百度地图
拉美跨境导航 微信文章助手 程序库 免费影视APP 免费字体下载 产品经理导航 爱克硕儿 产品经理AI资讯 Axure元件库下载 申请友联