REA引擎选择三法:--provider参数、provider_id与REA_ANALYSIS_PROVIDER环境变量
REA引擎选择三法--provider参数、provider_id与REA_ANALYSIS_PROVIDER环境变量【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREA 是一款「万物皆可逆向」的分析框架能够从应用行为一路追踪到原生二进制。它内置了 Hopper、Ghidra、IDA 等多个深度分析引擎而如何选择分析引擎正是新手最容易卡住的环节。好消息是REA 提供了三种简洁的引擎选择方式——--provider命令行参数、MCP 的provider_id字段以及REA_ANALYSIS_PROVIDER环境变量三者优先级清晰、互不冲突。本文将带你用最少的心智负担掌握全部三种用法。为什么需要手动选择分析引擎如果你只安装了 Hopper 一个引擎REA 的自动模式auto会直接帮你选上无需任何配置。但当你同时安装了 Hopper 和 Ghidra 时多个引擎都能处理同一个目标自动选择就无法确定该听谁的。此时 REA 不会猜也不会静默回退而是直接报错并列出候选引擎要求你显式指定。报错信息非常直白Multiple analysis providers support this target. Choose one with provider_id, --provider, or REA_ANALYSIS_PROVIDER.这三条提示恰好对应本文要讲的三种选择方式。该错误提示的完整定义见 src/domain/providerSelectionError.ts。三种引擎选择方法详解方法一CLI 的--provider参数优先级最高在命令行执行分析时直接追加--provider 引擎ID适合这一次就想用某个引擎的场景。常见引擎 ID 为hopper、ghidra、ida例如rea analyze /absolute/path/to/program --provider ghidra --json rea function /absolute/path/to/program main --provider hopper --json--provider是单次调用的显式绑定优先级最高会覆盖环境变量中的全局设置。官方 CLI 文档中给出了analyze、search、decompile、xrefs、trace等命令的完整示例见 docs/cli.md。方法二MCP 会话的provider_id字段AI 场景专用如果你通过 MCP 协议接入 REA比如让 AI Agent 驱动逆向则在open_binary工具的参数中传入provider_id{ path: /absolute/path/to/program, provider_id: hopper }关键特性是会话级稳定绑定选定后该引擎会一直绑定到当前会话直到你显式切换或关闭二进制为止不会中途更换保证分析结果前后一致。参数说明见 src/contracts/sessionToolContracts.ts。方法三REA_ANALYSIS_PROVIDER环境变量全局默认偏好如果你长期只使用某个引擎最省事的方式是设置环境变量让所有未显式指定的命令都默认走它# Linux / macOS export REA_ANALYSIS_PROVIDERida # Windows PowerShell $env:REA_ANALYSIS_PROVIDER ida该变量未设置时默认为auto自动选择合法取值校验逻辑定义在 src/config/environment.ts。IDA 引擎的完整配置流程含 MCP 注册与生命周期模式选择可在 docs/ida-provider.md 中参考。优先级排序与 auto 自动模式三种方式的优先级关系一句话概括优先级方式作用域适用场景1最高--provider参数单次 CLI 命令临时切换、调试对比1最高provider_id单个 MCP 会话AI 驱动分析2REA_ANALYSIS_PROVIDER全局环境长期固定的主力引擎默认auto全局只装了一个引擎auto是保留字专门用于自动选择不能作为引擎 ID 使用引擎 ID 本身只允许小写字母、数字和连字符以字母开头这一约束定义在 src/contracts/providerSelection.ts。这套显式绑定、无静默回退的设计决策背景可在架构决策记录 docs/adr/0001-provider-selection-and-analysis-profiles.md 中阅读。选错引擎怎么办错误排查小贴士 ambiguous选择歧义多个引擎都能处理目标。从报错的details.candidate_ids中挑一个用上面三种方式之一显式指定即可。unknown_provider未知引擎引擎 ID 写错了报错会直接列出当前可用的候选 ID。provider_unavailable引擎不可用引擎本身没装好或启动失败运行rea doctor --provider ID --json可以定位到具体的本地问题。想先看看自己装了哪些引擎、各自支持什么操作执行rea providers --json或rea capabilities --json一目了然。相关资源CLI 完整用法docs/cli.md引擎选择架构决策docs/adr/0001-provider-selection-and-analysis-profiles.md选择逻辑源码src/domain/providerSelectionError.ts、src/config/environment.ts掌握这三种选择方式后无论是一时的命令行调试还是让 AI 长期稳定地驱动逆向分析你都能对 REA 的分析引擎做出清晰、可预期的控制。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Flutter迁移OpenHarmony实战:文章详情页从0到1完整记录

Flutter迁移OpenHarmony实战:文章详情页从0到1完整记录

1. 项目概述1.1 核心需求解析先说结论:这是一次把 Flutter 应用跑到 OpenHarmony 设备上的完整实战,我挑的载体是一个口腔护理资讯类 App,核心功能集中在文章详情页的实现上。选择这个场景的原因很直接——文章详情页是内容型应用里面信息密度…

2026/10/9 0:52:36 阅读更多 →
模型服务规模化:调度、KV Cache 与资源池化的系统之道

模型服务规模化:调度、KV Cache 与资源池化的系统之道

SOSP 的 Session 1A 开场就是 Model Serving at Scale,这个安排本身就很能说明问题。这几年我和团队一直在做 LLM 推理服务化,眼看着这个方向从"AI 实验室里的小工具"变成了"真正意义上的系统软件"——调度、缓存、资源池化、故障恢…

2026/10/9 0:52:36 阅读更多 →
AI日报制作全攻略:从信息筛选到判断力训练的实操指南

AI日报制作全攻略:从信息筛选到判断力训练的实操指南

1. 一份“AI 日报”到底在记录什么每天早上打开电脑,我做的第一件事不是看邮件,而是花二十分钟把过去二十四小时里跟人工智能相关的动态过一遍。这个习惯坚持了快三年,从最开始只是随手记在备忘录里,到后来形成固定格式的日报&…

2026/10/9 0:52:36 阅读更多 →

最新新闻

js:关于箭头函数this指向和bind

js:关于箭头函数this指向和bind

1.bind方法注意事项: 调用 f.bind(someObject) 会创建一个新函数,这个新函数具有与 f 相同的函数体和作用域,但 this 的值永久绑定到 bind 的第一个参数,无论函数如何被调用。 function f() {return this.a; }const g f.bind({…

2026/10/9 1:21:56 阅读更多 →
TurboQuant+ 对 DFlash 自草稿投机解码的 31 组实验调查:GDN 混合架构的验证瓶颈、tape-replay 回滚与可行路径

TurboQuant+ 对 DFlash 自草稿投机解码的 31 组实验调查:GDN 混合架构的验证瓶颈、tape-replay 回滚与可行路径

【免费下载链接】turboquant_plus 项目地址: https://gitcode.com/gh_mirrors/tu/turboquant_plus 点击查看 免费下载 本文基于 TurboQuant 仓库研究文档《Speculative Decoding on GDN Hybrid Architectures: A 31-Experiment Investigation》整理。核心主题是&am…

2026/10/9 1:21:56 阅读更多 →
Dinero.js 金额变更(Mutations)深入指南:加减乘与分配的不变式与源码实现

Dinero.js 金额变更(Mutations)深入指南:加减乘与分配的不变式与源码实现

金融科技 【免费下载链接】dinero.js Create, calculate, and format money in JavaScript and TypeScript 项目地址: https://gitcode.com/gh_mirrors/di/dinero.js 点击查看 免费下载 导读 本文聚焦 Dinero.js 中用于操作(变更)货币金额的…

2026/10/9 1:21:56 阅读更多 →
Docker入门与实战——端口映射与容器互联

Docker入门与实战——端口映射与容器互联

端口映射与容器互联1、通过端口映射实现容器访问1.1、从外部访问容器应用1.2、映射所有端口地址1.3、映射到指定地址的指定端口1.4、映射到指定地址的任意端口1.5、查看映射端口配置2、通过互联机制实现便捷互访2.1、自定义容器命名2.2、容器互联在前几章的学习过程中&#xff…

2026/10/9 1:21:56 阅读更多 →
autoresearch:plan 配置向导深度解析——将自然语言目标转化为可验证的 Scope/Metric/Verify 配置

autoresearch:plan 配置向导深度解析——将自然语言目标转化为可验证的 Scope/Metric/Verify 配置

AI 技能人工智能AI 评测开发工具 【免费下载链接】autoresearch Claude Autoresearch Skill — Autonomous goal-directed iteration for Claude Code. Inspired by Karpathys autoresearch. Modify → Verify → Keep/Discard → Repeat forever. 项目地址: https:…

2026/10/9 1:21:56 阅读更多 →
Bolt.new + PM Skills 实战指南:先定义问题再生成代码,让 AI 原型从 Vibe 级升级为决策级

Bolt.new + PM Skills 实战指南:先定义问题再生成代码,让 AI 原型从 Vibe 级升级为决策级

AI 技能AI 插件 【免费下载链接】Product-Manager-Skills Product Management skills framework built on battle-tested methods for Claude Code, Cowork, Codex, and AI agents. 项目地址: https://gitcode.com/gh_mirrors/pr/Product-Manager-Skills 点击查看 免…

2026/10/9 1:20:55 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →