REA(Reverse Engineer Anything)完整实操教程

Alexer 发布于 阅读:21 AI栈

✅ REA(Reverse Engineer Anything)完整实操教程

⚠️ 重要法律提醒:只允许逆向你自己拥有完整版权、有权分析的程序,未经授权逆向第三方软件属于违法行为

REA本身不是反编译器,只是AI调度层,底层必须搭配 Ghidra(免费推荐) / IDA / Hopper 三者之一来解析exe二进制文件

📦 一、全部工具获取地址(官方)

1. REA

2. Node.js(REA必须依赖)

3. Ghidra(免费反编译器,新手首选,用来解析Qt exe)

4. JDK21

5. Qt专用逆向插件 QtREAnalyzer(解析QObject、信号槽)

🛠️ 二、Windows完整安装步骤(PowerShell)

步骤1:安装Node.js

安装完成后打开PowerShell校验版本

node -v

版本必须满足 ≥22.19,不满足就重装Node。

步骤2:全局安装REA

npm install --global rea-agents

步骤3:运行REA引导配置

rea setup

步骤4:安装Ghidra + JDK21

  1. 安装JDK21,记下JDK路径
  2. 解压Ghidra到本地目录,例如:C:\tools\ghidra_12.1.4_PUBLIC
  3. 在PowerShell临时设置环境变量(每次新开终端都要执行,也可以写入系统环境变量)

$env:GHIDRA_INSTALL_DIR = "C:\tools\ghidra_12.1.4_PUBLIC"

$env:JAVA_HOME = "C:\Program Files\Java\jdk-21"

$env:REA_ANALYSIS_PROVIDER = "ghidra"

步骤5:环境自检(最重要!用来判断有没有装成功)

rea doctor

✅ 如果全部绿色健康 → 环境就绪

❌ 红色报错:按提示补缺失依赖,最常见:JDK版本不对 / Ghidra路径写错 / Node版本低

🧪 三、测试流程(拿你自己编译的Qt程序做测试!)

👉 建议先用你自己Qt编译出来的exe测试,不要直接拿别人商业软件练手

  1. 先用Qt随便写一个最简单测试程序:一个窗口+一个QPushButton,Release编译,得到 MyQtTest.exe
  2. PowerShell执行REA分析命令

rea inspect "C:\test\MyQtTest.exe" --provider ghidra

REA会自动调用Ghidra导入这个exe,执行初步分析

3. 交给AI的Prompt(专门用来分析Qt,直接复制)

使用REA+Ghidra分析这个Qt程序MyQtTest.exe

  1. 查找所有QObject派生类
  2. 识别所有信号、槽函数
  3. 列出所有QString字符串
  4. 找出按钮点击对应的回调函数
  5. 标注MOC元数据位置

⚙️ 四、Qt逆向痛点与插件配置

  1. Release版本默认不带符号表,类名很难识别,这是C++/Qt通病,不是REA的问题
  2. ✅ 推荐安装 QtREAnalyzer 插件:
  1. ❗ 程序如果加壳(VMProtect / Themida):REA/Ghidra直接读不了,必须先手动脱壳

✅ 五、常用命令速查

rea --help

查看全部命令

rea doctor --provider ghidra

单独检查ghidra环境

rea providers

查看本机可用反编译引擎

rea upgrade

更新REA到最新版本

❌ 六、常见踩坑清单

  1. Node版本23 / 25:直接报错,必须装22或者24版本
  2. Ghidra路径有中文、空格:大概率失败,路径全部英文
  3. 忘记重启Cursor/Claude Desktop:AI看不到REA工具
  4. Windows目前Ghidra模式属于实验支持,稳定性不如macOS/Linux
  5. REA不能一键完整还原Qt UI(.ui文件),Release版本ui资源已经编译进二进制,无法原样导出

📌 六、完整流程总览

安装Node → 安装REA → 安装JDK21+Ghidra → 环境变量 → rea doctor自检 → 准备自己的Qt测试exe → rea inspect → AI读取结果 + Qt插件辅助解析信号槽REA 目前处于内测阶段,这里先做一次分享,喜欢可以点个赞;对 Qt Creator AI 教程感兴趣的人也可以私聊交流。

法律提醒:只允许逆向你自己拥有完整版权、有权分析的程序,未经授权逆向第三方软件属于违法行为。

REA 本身不是反编译器,而是 AI 调度层,底层需要搭配 Ghidra、IDA 或 Hopper 三者之一来解析 exe 二进制文件。

工具依赖方面:REA 需要 Node.js,版本要求为 >=22.19 或 >=24.11,23 和 25 版本不支持。Ghidra 是免费反编译器,适合新手,用来解析 Qt exe,依赖 JDK21;JDK21 可选用亚马逊 Corretto 或 Oracle JDK。Qt 专用逆向插件 QtREAnalyzer 用于解析 QObject 和信号槽,支持 IDA 与 Ghidra。

测试时,应拿自己编译的 Qt 程序进行验证。

REA 逆向工程 Qt逆向