@sammy_capital:别再浪费数小时摸索着学 REA 了。REA 团队整理了一份实用学习路线图,包含教程、真实逆向案例……
摘要
一份精选的 REA(Reverse Engineering Anything)学习路线图,涵盖安装、教程、真实逆向案例、GitHub 仓库、书籍、研究论文和免费课程,助你高效学习逆向工程。
查看缓存全文
缓存时间: 2026/11/01 13:55
别再浪费数小时摸索 REA 了。REA 团队整理了一份实用学习路线,涵盖教程、真实逆向案例、GitHub 仓库、书籍、研究论文和免费课程。从这里开始:
- REA 官方仓库 https://github.com/morluto/rea
- REA 官方网站 https://rea.tools
- 安装与 Agent 配置 https://github.com/morluto/rea/blob/main/docs/installation.md…
- 你的第一个 REA 逆向调查 https://rea.tools/first-investigation/…
- REA 指南 https://rea.tools/guides/
- 引导式 MCP 提示词 https://github.com/morluto/rea/blob/main/docs/mcp-prompts.md…
安装:
npx rea-agents@latest setup
观看并跟着做:
- 如何用 REA 在几分钟内克隆任意软件 — https://youtube.com/watch?v=FnB9tHKBJXQ…
- REA + Pi 编码 Agent 教程 https://datacamp.com/tutorial/reverse-engineer-anything-rea-tutorial…
- Ghidra 新手教程 https://youtube.com/watch?v=OFAxXXcLXbc…
- 用 Frida 进行安卓逆向 https://youtube.com/watch?v=GHh9P-Dyq1w…
- pwn.college 逆向工程 https://pwn.college/intro-re-pwn~5933fc84/reversing/…
- Malware Unicorn RE101 https://malwareunicorn.org/workshops/re101
真实的 REA 逆向案例:
- Notes Export https://rea.tools/first-investigation/…
- Notion Clipboard https://rea.tools/showcase/notion/…
- DX-Ball 重构 https://rea.tools/showcase/dx-ball/…
- Aegis APK https://rea.tools/showcase/aegis/
- TH04 弹幕模式 https://rea.tools/showcase/th04/
GitHub 仓库:
- REA https://github.com/morluto/rea
- Awesome Reverse Engineering https://github.com/morluto/awesome-reverse-engineering…
- REA Gems https://github.com/sqwu/rea-gems
- Awesome Reverse-Engineered https://github.com/alexgaoth/awesome-reverse-engineered…
- Ghidra https://github.com/NationalSecurityAgency/ghidra…
- JADX https://github.com/skylot/jadx
- Frida https://github.com/frida/frida
- ILSpy https://github.com/icsharpcode/ILSpy…
- x64dbg https://github.com/x64dbg/x64dbg
书籍:
- The Ghidra Book, 2nd Edition https://nostarch.com/ghidra-book-2e
- Reverse Engineering for Beginners https://go.yurichev.com
- Practical Binary Analysis https://nostarch.com/binaryanalysis/
- Practical Malware Analysis https://nostarch.com/malware
- The Android Malware Handbook https://nostarch.com/androidmalwarehandbook…
- Reversing: Secrets of Reverse Engineering https://wiley.com/en-us/Reversing%3A+Secrets+of+Reverse+Engineering-p-9780764574818…
研究论文:
- LLM4Decompile https://arxiv.org/abs/2403.05286
- AutoDecompiler https://arxiv.org/abs/2606.16162
- SALT4Decompile https://arxiv.org/abs/2509.14646
- Decomperson https://usenix.org/conference/usenixsecurity22/presentation/burk…
- DIRTY https://usenix.org/system/files/sec22-chen-qibin.pdf…
- 自动化攻击软件的逆向 Agent(Automatically Attacking Software RE Agents) https://arxiv.org/abs/2605.30667
- 逆向工程需要更大的模型吗? https://rea.tools/blog/reverse-engineering-models/…
免费课程与练习:
- OpenSecurityTraining2:x86-64 汇编 https://p.ost2.fyi/courses/course-v1%3AOpenSecurityTraining2%2BArch1001_x86-64_Asm%2B2021_v1/about…
- pwn.college:逆向工程 https://pwn.college/intro-re-pwn~5933fc84/reversing/…
- pwn.college:Reversing Hell https://pwn.college/reversing-hell/
- Malware Unicorn RE101 https://malwareunicorn.org/workshops/re101
- Nightmare https://github.com/guyinatuxedo/nightmare…
- RPISEC Modern Binary Exploitation https://github.com/RPISEC/MBE
- OWASP Mobile Application Security https://mas.owasp.org
最佳学习顺序: 安装 REA → Notes Export → Notion → CTF 二进制题 → Aegis APK → DX-Ball,然后再学 Ghidra、汇编和论文
morluto/rea
来源:https://github.com/morluto/rea
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Türkçe · Русский · Tiếng Việt · ไทย · Deutsch · Español · Français · Українська · Polski · Português (Brasil) · العربية · فارسی · Bahasa Indonesia · Italiano · Ελληνικά · മലയാളം · Roman Urdu · Română
REA:Reverse Engineer Anything
一个 MCP,搞定二进制、应用与运行时行为的逆向工程。
看到喜欢的功能?把它的工作原理一路拆解到二进制层面。
MCP 工具目录
Node.js 要求
MIT 许可证
Discord
快速开始 · REA 工作原理 · 你能分析什么 · 案例展示 · 构建 RL 环境 · 常见问题 · 文档
npx rea-agents setup
请从 morluto/rea(https://github.com/morluto/rea)、rea.tools(https://rea.tools/) 或 rea-agents npm 包(https://www.npmjs.com/package/rea-agents)获取 REA。 安装与发布链接请以这些官方来源为准。 相似的仓库名或复制过来的 README 并不能证明某个下载是官方的。
加入逆向工程社区 Discord · 问答 · 作品展示
在某个应用里看到一个想搬到自己产品中的功能?让你的 agent 用 REA 去调查它。它可以在没有源码的情况下检查该应用,解释这个功能如何运作,展示证据,并为你的项目构建一个实现。
REA 将你的 agent 连接到用于检查原生二进制、JavaScript 与 Electron 应用、.NET 程序集以及网站的工具。这些工具同样可以从终端直接使用。分析在本地运行,结果中包含支撑每个结论的证据与局限。
Setup 会把 REA 注册到你的 agent,并安装配套的工作流说明。原生分析可以复用已有的 Hopper、Ghidra、IDA 或 Kuna 安装;setup 也可在你批准后安装 Hopper。静态 JavaScript 分析不需要原生分析引擎。
访问 REA 网站(https://rea.tools/) 获取配置说明、带图指南和真实案例研究。
快速开始
在 Linux 上,Ghidra、JADX、固件工具启动以及静态 JavaScript/Electron 分析,需要 REA 的 PATH 中存在与 procps 兼容的 ps,以便进行进程归属检查。恢复步骤见 docs/installation.md 中的 “Linux owned-process prerequisite”。
配置你的 agent
安装好 Node.js 与 npm 后,运行:
npx rea-agents setup
选择你的 agent,审阅将要进行的修改并批准。setup 会添加 REA 的 MCP server 与配套的工作流说明,并对已有配置做备份。之后请重启你的 agent。Setup 会直接记录所选的运行时与 REA 入口脚本。如果通过 package runner 获取,请保持其缓存条目可用。请从目标项目之外的受信任目录执行包获取操作。安装与恢复细节见下方的配置指南。
Setup 支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 以及其他 agent。关于 provider 配置、手动 MCP 注册以及 Claude Code/Codex 插件安装,请参阅安装与配置。
MCP 默认使用紧凑输入 schema 以降低上下文开销。当你需要完整的公开字段说明与嵌套校验细节时,请在 MCP 注册中设置 REA_MCP_INPUT_SCHEMA_PROFILE=full。两种模式都保留完整工具集与规范的服务端校验。参见 MCP contracts 指南中的 “Compact input schema profile”。
输出 schema 默认以完整形式公开。如果你的客户端限制了完整的 tools/list 帧,可设置 REA_MCP_OUTPUT_SCHEMA_PROFILE=compact 来限制每个公开的输出 schema,或设为 off 完全省略输出 schema。两种设置都保留规范的服务端校验与完整的结构化结果。参见 MCP contracts 指南中的 “Output schemas”。
向你的 agent 提问
理解 Notes 应用中搜索功能的实现方式,把证据展示给我,并为我的项目构建一个类似的功能。
把 Notes 换成你的目标应用,把功能换成你想弄明白的那个功能。
使用终端
检查一个已解包的 JavaScript/Electron 应用目录或 ASAR:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
结果包含模块、导入、Electron 边界及其证据。把路径换成你的目标,例如 Windows 上的 "D:/apps/example"。
要安装 rea 命令供日常使用:
npm install --global rea-agents
rea --help
进行原生分析时,需要先配置 provider。原生命令、provider 选择、快照与脚本化请参阅 CLI 与证据指南。
更新 REA
REA 迭代很快,新版本包含频繁的 bug 修复。请保持安装为最新。
对于用 npm install --global 或 bun add --global 安装的 CLI:
rea update
rea --update 是这一经过验证的工作流的别名,并接受相同的全局输出标志。当它与其他命令控制项组合使用时,请用 rea update。Updater 命令最多保留 4 MiB 的 stdout 与 stderr 合计输出;超出的元数据回复会在命令退出后被拒绝;冗长的安装会以有界诊断信息继续执行。面向人的进度输出会遵守终端背压,并等待已提交的写操作完成。Bun 全局更新需要 Bun 1.2.17 或更高版本;若 Bun 版本较旧,请先手动升级 Bun 再运行 rea update。
要刷新你的 agent 注册与 skill,请运行 update 打印出的 setup 命令。如果你使用 npx,用以下命令更新 agent 配置:
npx rea-agents@latest setup
审阅 setup 的改动并重启你的 agent。一次性 CLI 命令使用 npx rea-agents@latest 后接命令。使用 Bun 时,以 bunx rea-agents@latest 替代 npx rea-agents@latest。
REA 工作原理
你的 agent 通过 MCP 调用 REA 来检查目标并追踪相关代码。REA 返回发现结果及其证据。agent 据此提出后续问题、解释行为,或编写并测试实现。CLI 命令走的是同一套工作流。
REA 调查流程:你的 agent 就本地目标提出问题,REA 使用分析工具检查并追踪它,agent 再利用返回的代码、引用和未知项来解释、实现并测试。
你能分析什么
REA 需要 Node.js 22.x(>=22.23.4)、24.x(>=24.22.1)或 26.12.1+,以及 npm。额外的工具与宿主要求取决于目标:
| 目标 | REA 返回内容 | 要求与指南 |
|---|---|---|
| 桌面安装 | 运行时候选、支持文件、组件标记与后续探测点 | 内置有界目录/头部检查;桌面应用 |
| 原生二进制 | 伪代码、汇编、字符串、符号、调用与引用 | Hopper、Ghidra、IDA 或 Kuna;原生分析 |
| 离线 ELF 布局 | 节、段、原始符号/重定位与静态缓解候选 | Linux x64 上由调用方提供的 pwntools;二进制诊断 |
| Go 二进制 | 内嵌编译器版本、模块、替换与构建设置 | 内置静态 ELF/PE/瘦 Mach-O 检查;无需安装 Go |
| GPU 代码对象 | CUDA/HIP 目标、选定的内核参数与资源、保留的 PTX 文本 | 内置静态 ELF/PE/fatbin/CUBIN/PTX 检查;GPU 代码对象 |
| 模型产物 | GGUF / safetensors 元数据、张量声明与推导出的总量 | 内置头部检查;可选全文件哈希;模型文件 |
| IL2CPP 元数据 | Unity global-metadata.dat 程序集映像、类型与方法名及索引范围 | 内置静态解码版本 24、27、29、31 与 39;无需 Unity |
| Godot PCK | 归档清单与提取、原始头部/目录事实与选定内容标识 | 内置静态格式 2、3 与 4;无需 Godot |
| Rust 二进制 | 内嵌 cargo-auditable 的 crate 名称、版本、来源与依赖边 | 内置静态 ELF/PE/瘦 Mach-O 检查;Rust 二进制 |
| PE 证书 | Authenticode WIN_CERTIFICATE 条目与 PKCS#7 签名者/X.509 身份字段 | 内置静态 PE 检查;PE 证书 |
| PE 导入 | 导入与延迟加载的 DLL 名称、序号、IAT RVA 与 pefile 导入哈希 | 内置静态 PE 检查;PE 导入 |
| ELF notes | PT_NOTE/SHT_NOTE 的所有者、类型、GNU build-id 与 ABI-tag 字段 | 内置静态 ELF 检查;ELF notes |
| Apple IPS 崩溃 | .ips 元数据、线程、映像、寄存器与已记录的崩溃类别 | 内置静态 JSON 检查;Apple IPS |
| Linux 内核模块 | .modinfo 键、__versions CRC、this_module 存在性与签名尾部 | 内置静态 ELF 检查;内核模块 |
| Erlang BEAM | IFF 块、atom、导出、导入、lambda 与 Code 头 | 内置静态 BEAM 检查;Erlang BEAM |
| WASM 产物 | 校验、节、精确的导入/导出 WAT 形式与解码后的 WAT | 调用方提供的 WABT 1.0.42;inspect_wasm_artifact |
| EVM 字节码 | 分发选择器、字节偏移、推断出的参数与可变性 | Linux x64 上的本地 raw/hex 载体;离线 EVM 指南 |
| SQLite 数据库 | 表、列、索引、视图、触发器与选定的普通表行 | 本地数据库/WAL 快照;Node.js 24.x >=24.15 或 26+(带原生 SQLite 限制) |
| 已记录的 Linux 崩溃 | 原始 notes、每个被记录线程的寄存器/信号与可选的映射候选 | Linux x64 上由调用方提供的 pwntools;可选 GDB/pwndbg;记录的崩溃 |
| JavaScript / Electron | 模块、导入、source map、路由、IPC 与原生插件关系 | Node.js 与 npm;Linux:与 procps 兼容的 ps;应用分析 |
| 网站 | 页面结构、脚本、网络观察与请求的截图 | Chrome 系浏览器;浏览器分析 |
| 保存的网络抓包 | 请求、响应、暴露的载荷与来源位置 | HAR 或 Fiddler Everywhere SAZ;Linux 上原生 mitmproxy 需 mitmdump;抓包指南 |
| .NET 程序集 | 元数据、CIL 指令、声明的原生依赖与构建对比 | 无要求(仅静态);托管代码指南 |
| Android APK | Manifest 声明、类、反编译出的方法与引用 | Linux/macOS/Windows x64 上的 headless JADX 与完整 JDK;Android 指南 |
| APK 签名 | v1/v2/v3/v3.1 签名者、证书指纹、密钥轮换与摘要 |
相似文章
@LinearUncle:近几天爆火的反向工程库 REA,作者 morluto 还有另一个……
作者推荐反向工程库 REA 作者 morluto 的另一个 GitHub 仓库 awesome-reverse-engineering,该仓库汇集了反向工程的学习资源、开源书籍和各类工具,覆盖二进制、游戏、编程语言、Web、硬件等多个方向。
@0xlangeai: What is the explosively popular Rea, how to use it, how beginners can get started—it's all in this article. Follow alon…
一篇保姆级教程,介绍爆红的开源逆向分析工具 REA(Reverse Engineer Anything),讲解如何把它接入 Codex 等 AI 编程助手,并以恐龙小游戏为例,演示让 Agent 读取程序、解释加速规则并复刻带调速滑块的新版本。
@realfxw:AI 正在彻底重塑底层逆向工程的游戏规则。最近开源的 REA(Reverse Engineer Anything)……
开源的 REA(Reverse Engineer Anything)通过 MCP 和 CLI,将一套底层逆向工程工具链——原生二进制反编译、动态执行追踪、跨技术栈逻辑复刻——封装为 AI Agent 插件,正在重塑自动化 Agent 进行二进制分析的方式,同时也带来了代码混淆、洁净室设计和验证等方面的新挑战。
独家对话 REA 开发者:这款 AI 逆向工程工具火爆出圈
《科学美国人》采访了化名为 Morluto 的开发者,他开发的 REA(Reverse Engineer Anything,意为“对任何事物进行逆向工程”)是一款走红的 AI 驱动逆向工程工具,在 GitHub 上获得了超过 40 万颗星标。该工具让 AI 智能体能够反编译和修改软件,引发了有关商业秘密和著作权法的问题。
REA Reverse – 逆向工程一切
REA 是一款面向编码代理的逆向工程工具,通过 `npx rea-agents@latest setup` 安装,可让 AI 代理检查程序的汇编与反编译代码,并用自然语言解释软件行为或重建功能逻辑。