REA 如何在 IDA 上做只读分析而不碰你的数据库:attached 与 headless 双生命周期完整链路

发布时间:2026/10/19 1:50:46
REA 如何在 IDA 上做只读分析而不碰你的数据库:attached 与 headless 双生命周期完整链路 REA 如何在 IDA 上做只读分析而不碰你的数据库attached 与 headless 双生命周期完整链路【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREA 是一个通过 MCP 把 AI Agent 接到逆向工程引擎的开源项目它的 IDA 适配器有一个反直觉的设定attached模式下它实时分析你正在 IDA GUI 里编辑的数据库却从不保存、也从不关闭它——close_binary只是断开 REA 自己的 MCP 连接headless模式走得更极端分析结束连它生成的私有.idb都不允许留在磁盘上。这两个承诺都由代码路径保证而不是口头约定。REA IDA 适配器入口注册文件与 mode 默认值这个适配器不安装 IDA、不激活许可、不启动 GUI、不捆绑任何 IDA 组件它做的事只有一件把你已配置好的上游 IDA MCP 服务接入 REA 统一的只读操作集——函数列表、字符串搜索、反编译、交叉引用、函数档案清单见 IdaProviderCapabilities.ts。入口是注册 JSON 文件把路径写入环境变量REA_IDA_MCP_CONFIG再用REA_ANALYSIS_PROVIDERida或 CLI 的--provider ida选定适配器文件里的mode字段决定进入哪条生命周期默认是attached解析规则与 64 KiB 体积上限在 IdaConfiguration.ts。attached 模式启动、双重校验与断开的完整链路启动时会话先拉取上游tools/list与 legacy 1.4 工具清单逐一比对缺get_metadata、list_functions中任何一个就列出缺失项直接失败IdaSessionClient.ts。运行时它像实时观察者每个请求先调用get_metadata把 IDA 内部记录的原始输入二进制 SHA-256与镜像基址和 REA 准入的目标比对请求完成后再取一次元数据做后校验哈希不符或在会话期间切了目标立即抛AnalysisProtocolError并给出恢复指引。因为绑定的是记录在 IDA 里的哈希而非路径REA 跑在 WSL、GUI 开在 Windows 也互不干扰。结束时close只释放 MCP 连接GUI 数据库原样保留你中途追加的注释下一次查询直接可见——结果是实时读取没有本地快照回放。headless 模式私有工作区与无痕清理的完整步骤启动链路每一步都可验证先把准入的二进制拷进mkdtemp创建的私有临时目录POSIX 下 owner-only 权限边拷边算 SHA-256源文件哈希与准入值不符就中止IdaWorkspace.ts随后以force_headless调idb_open响应里session_id与input_path必须等于 REA 申请的私有副本否则按收养了用户数据库直接报错再查idb_list确认该会话owned、backend: worker、is_active三项齐全IdaSessionClient.ts。运行时每个请求经server_health确认 worker 仍绑定私有副本且副本摘要未变。结束是三步闭环idb_close强制save: false上游若报告saved: true判为协议违规idb_list确认会话消失最后才删私有目录IdaSessionClient.ts。对比维度attached附着 GUIheadless无头分析上游 API 画像legacy 1.4 GUI 工具数据库监管idb_open/idb_list/idb_close数据库归属100% 归用户REA 只读旁观REA 以force_headless创建并独享身份校验IDA 记录的输入哈希基址请求前后双重校验私有副本摘要 worker 输入路径 会话状态close 行为仅断开 MCP 连接save: false释放→idb_list确认→删私有目录直接调用者 callers支持无法证明调用边如实报告 unknown运行环境可跨 WSL/WindowsREA 与监管进程须共享同一宿主文件系统IDA 只读分析三条红线REA 为什么从不保存数据库 决策一永不保存或关闭 GUI 数据库。理由数据库是用户的资产你正在手工注释、重命名REA 若触发保存等于往你正在编辑的文件里强制落盘会固化半成品状态并干扰并行工作。官方文档原文It never saves or closes the existing GUI databasedocs/ida-provider.md。决策二无法验证的关闭就是失败。idb_close响应不可解析、或会话仍残留在idb_list中REA 不假装清理干净——保留私有工作区并抛IdaCleanupError错误里逐条列出未确认释放的会话IdaSessionClient.ts。决策三身份不匹配就不出结果。请求前后任一校验失败直接报错并指引重开目标动机是把 A 程序的证据安到 B 程序头上的风险降为零IdaSessionClient.ts。亲手实测 IDA 双模式预检命令与 verify:ida 验证入口动手前先跑注册文件预检不会启动 IDArea doctor --provider ida --json。两种模式共用同一套 CLIrea function /absolute/path/to/program main --json、rea decompile /absolute/path/to/program main --json。Agent 侧一次连接即可open_binary指定provider_id: ida→analyze_function/search_strings→close_binary。环境就绪后跑官方验证入口npm run verify:ida -- --target /absolute/path/to/program --procedure main它会校验输出契约、原始输入保全与会话清理。输入哈希校验证明的是REA 看到的就是你准入的那个二进制而不是数据库未被手工修改空白的档案字段代表未知不是不存在。完整覆盖范围与证据边界见 docs/ida-provider.md。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询