
rea 二进制逆向 CLI20 分钟从零到证据链【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea拿到一个 stripped .so甲方只给你 20 分钟甲方丢来一个没有符号表的.so只有 20 分钟要定位它的关键行为。传统路径是打开 Ghidra 或 IDA起工程、等自动分析、在一堆面板里找引用——学习曲线、环境搭建都在时间里扣费而且整个过程没法脚本化换一台机器就得从零再来。rea 做的事是把二进制逆向挪进终端一条 CLI 加一个 MCP 服务统一覆盖原生二进制、JavaScript/Electron 应用、.NET 程序集、Android 包乃至网站分析让你和 AI Agent 用同一套命令去「看懂」一个程序并且每条结论都带着可核查的证据回来。定位一条 MCP 打通二进制、应用与运行时rea 的官方定位是One MCP for reverse engineering across binaries, applications, and runtime behavior.中文说就是一个 MCP 服务从原生二进制到应用层行为全链路逆向。它的三条设计原则决定了和「一把梭反编译」类工具的差别引擎可插拔原生深分析三选一Hopper、Ghidra、IDA装哪个就用哪个装几个都行静态 JavaScript 与 .NET 分析不需要任何反编译引擎Node 就绪就能跑人和 Agent 跑同一条命令同一工作流既能被 Agent 经 MCP 调用也能在终端直接执行输出契约一致每次调用都是独立进程天然适合脚本、管道和并行证据链先于结论每条结果同时给出 observations观察、inferences推断与 unknowns未解问题Ghidra 的伪代码永远是反编译器输出rea 从不在结果里把它伪装成「原始源码」⚡ 30 秒跑通前置只有一个Node.js 22.x22.19、24.x24.11或 26。三条启动路径按需选一条npx 一次性分析npx -y rea-agentslatest analyze-javascript-application /absolute/path/to/app --json零全局安装先试水 JavaScript/Electron 目标npm 全局安装npm install --global rea-agents之后rea成为日常命令适合高频使用setup 事务npx rea-agents setup先列出将修改的每个配置路径、备份方式和外部软件安装计划确认后才写入适合接上自己的 Agent它注册 MCP 和工作流指引但永不替你安装 Node、Java、Ghidra 等外部依赖跑起来后先做一次只读体检rea doctor --provider ghidra --json export GHIDRA_INSTALL_DIR/absolute/path/to/ghidra_12.1.4_PUBLICdoctor会逐项检查宿主平台、Node 版本、引擎可执行文件与 Agent 配置每个失败项后面都跟着精确的修复命令照着敲就行。️ 命令地图7 个动词 7 种逆向动作rea 的 CLI 是 one-shot 设计命令名与 MCP 工具一一对应。表格即答案命令它回答的问题最小示例analyze这个目标长什么样架构、符号、字符串、函数rea analyze /absolute/path/to/program --provider ghidra --jsonsearch这个字符串 / 函数名在哪rea search /absolute/path/to/program search --provider ghidra --jsonfunction这个函数的完整档案是什么rea function /absolute/path/to/program main --provider ghidra --jsondecompile这段代码的可读形式是什么rea decompile /absolute/path/to/program 0x1000 --provider ghidra --jsonxrefs谁引用了这个地址rea xrefs /absolute/path/to/program 0x1000 --provider ghidra --jsontrace从这个功能出发能追到哪rea trace /absolute/path/to/program search --provider ghidra --jsoninstructions汇编原文是什么不启动反编译器rea instructions /absolute/path/to/program main --provider ghidra --json高频参数四个就够--json结构化输出供脚本和jq消费默认终端格式是 TOON适合人读--provider hopper|ghidra|ida显式绑定引擎不给就按确定性规则自动选--snapshot /path/to/snap.json分析结果缓存到本地相同目标参数直接复用不重复启动引擎--procedure、--query等号形式传参防止以-开头的名字如 Objective-C selector被当成选项 stripped 二进制全程四个检查点拿仓库自带的binary-layout.cfixture 练手一个 17 行的 C 文件含全局变量、线程局部变量、一个read_values()辅助函数和main。编译出 stripped 版符号表没了函数边界还在gcc -O0 -s -o /absolute/path/to/hello_stripped binary-layout.cCheckpoint ① 拿到身份锚点rea analyze /absolute/path/to/hello_stripped --provider ghidra --json输出里第一件事不是函数而是目标身份路径、SHA-256 指纹、大小。这是后面所有结论的基准线——目标字节一变指纹失配结论自动作废。同一份结果里的 coverage 字段划分「哪些分析完整、哪些只是部分观察」unknowns列的是确实没解出来的东西而不是被悄悄忽略的东西。Checkpoint ② 锁定目标函数rea function /absolute/path/to/hello_stripped read_values --provider ghidra --jsonfunction返回一份完整档案dossier入口地址、调用者/被调用者、控制流图最多 3000 条 p-code 操作与 12000 条 def-use 边溢出部分给出显式省略计数——你知道自己没看到什么。这一步的意义在于stripped 目标没有符号表函数边界是从控制流里重新收出来的而不是猜出来的。Checkpoint ③ 闭合引用链rea xrefs /absolute/path/to/hello_stripped 0x401150 --provider ghidra --json rea search /absolute/path/to/hello_stripped source-owned --provider ghidra --jsonxrefs返回有界引用列表调用/跳转/数据/读写分类都保留原始类型search支持字面量和 Java 正则两种模式可分开搜字符串与过程名。main里那条到read_values的调用边、以及source-owned在数据区的落点两个独立查询指向同一个函数——引用链闭合证据从入口到数据全程可回放。Checkpoint ④ 确认证据边界rea decompile /absolute/path/to/hello_stripped 0x401150 --provider ghidra --json伪代码到手之前先看两样东西limitations 会声明反编译器输出不是原始源码unknowns 声明哪些部分仍未解出。拿到结论的同时拿到它的边界下游的 Agent 或你自己才分得清哪些是推断、哪些是猜测。 零引擎路径不启动 Ghidra 也能查JavaScript / Electron 静态解析rea analyze-javascript-application /absolute/path/to/app --json纯静态解析返回模块、导入、Electron IPC 边界及各自证据。它替代的是手工翻main.js、package.json和 IPC 边界的那一下午。离线 ELF 布局诊断REA_PWNTOOLS_PYTHON/absolute/isolated-env/bin/python \ rea inspect-binary-layout ./hello_stripped --json不启动任何反汇编器数据库直接回答「文件里有什么」节区/段布局、原始符号与重定位、canary、PIE、NX、RELRO 的静态推断。它替代的是 Ghidra 的 Binary 面板加 objdump 的组合拳。前提是一个自带 pwntools 4.15.0、pyelftools、Unicorn 的独立 Python 环境。️ 卡住时查这里先认退出码0 操作完成结果仍可能含警告或未解问题1 未完成结构化输出会给出原因128N 进程被信号 N 终止。provider 歧义 / 不可用→ 多个引擎都支持目标时选一个rea doctor --provider ghidra --json换实际引擎 ID看details.selection_reason与candidate_idsGhidra 启动超时→ 默认期限 330000ms约 5.5 分钟大二进制调REA_GHIDRA_STARTUP_TIMEOUT_MS900000Node 版本不达标→ 按提示装 Node.js 22.x22.19、24.x24.11或 26进阶出口docs/cli.md全部命令、provider 选择、快照与导入导出、退出状态docs/mcp-contracts.md工具结果、会话与证据契约docs/native-investigation.md各引擎能力边界与验证责任官方 showcase 里最有分量的锚点是 DX-Ball 案例把一个声音定位的 pan 计算从汇编还原成 C重建结果通过 3205 个原始 x86 用例并复现全部 63 字节编译产物——从「看懂」到「重建」这就是 rea 铺好的下一层。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考