本节摘要:本书主线是免费开源工具链,但工程决策需要看清商业选项的真实水位。本节先看 IDA 生态的 MCP 化:ida-pro-mcp(mrexodia 维护,约 12.9k stars,MIT 许可证,需 IDA Pro 8.3 以上,2026-10 社区口径)把反编译、函数清单、重命名、注释等能力暴露给模型;Hex-Rays 官方 MCP 已于 2026-09-25 发布——官方版已发布,仓库地址以 hex-rays 官方渠道为准。再看 Binary Ninja 加 Sidekick 的商业 AI 路线,并与「MCP 插件」路线比较集成深度的取舍。然后给一张「免费开源自建对商业省事」的选型表,把成本、能力上限、数据敏感性、支持体系放进同一框架,并按四类场景给决策口诀;接着算一笔年度拥有成本的账(不含具体价格数字,框架以实物报价为准);最后交一个针对进制幻觉的工程组件 int_convert——所有地址与常量必须经它统一转换,把 11.1 节的验证纪律做成代码。
IDA Pro 长期是逆向商业工具的事实标准,它的 MCP 化走了一条「社区先行、官方跟进」的路。社区侧的 ida-pro-mcp 由 mrexodia 维护,约 12.9k stars,MIT 许可证,要求 IDA Pro 8.3 以上(版本条件以项目 README 为准)。工具面覆盖第 03 章《GhidraMCP实战》里 Ghidra 同款能力的 IDA 版:
| 工具能力 | 说明 | 与本书章节的呼应 |
|---|---|---|
| 反编译指定函数 | 模型按需取伪代码 | 第 03 章同款;第 8.2 节闭环的输入 |
| 函数与导入表清单 | 摸底三查询 | 第 7.2 节;幻觉「编造 API」的验证器 |
| 重命名与注释回写 | 分析成果落回工程文件 | 与 binsync 衔接(第 9.2 节) |
| 交叉引用查询 | 谁调用谁 | 幻觉「虚构 xref」的验证器 |
这张工具面清单同时也是「反幻觉验证器清单」——11.1 节的菜单表里每一行,都能在某个 MCP 工具里找到对应的落地命令。选商业工具时按这张单子对齐:工具面覆盖不全的,缺口要么自建补齐、要么写进方案的风险栏。
官方侧的关键动向:Hex-Rays 官方 MCP 已于 2026-09-25 发布——写引用时用这个口径:官方版已发布,仓库地址以 hex-rays 官方渠道为准。对团队的含义是双重的:其一,IDA 加 MCP 的路线得到厂商背书,长期可用性更稳;其二,社区插件与官方组件并存期内,选型要写清用哪个、为什么(审计要求)。
Binary Ninja 是另一家主流商业反编译器,其 AI 路线的代表是 Sidekick:把大模型能力深度集成进分析流程——辅助命名、伪代码解释、模式询问等(具体能力与计费以官方站点为准)。
与「MCP 插件」路线的差异在于集成深度:MCP 路线是「工具暴露给任意模型」,Sidekick 路线是「模型长在工具里」。两条路线的取舍表:
| 维度 | MCP 插件路线 | 深度集成路线 |
|---|---|---|
| 模型可替换 | 是(任意客户端) | 受限于厂商方案 |
| 工具可组合 | 是(第 05 章聚合层) | 单一体验内闭环 |
| 证据链统一 | 全走 11.1 模板 | 会话格式厂商私有 |
| 上手成本 | 需自建编排 | 开箱即用 |
本书更倾向 MCP 路线——模型可替换、工具可组合、证据链在第 11.1 节的统一模板里,不被单一厂商会话格式锁定;但对「不想养编排能力的小团队」,深度集成路线的开箱即用是真实价值。两条路线的中间态也值得知道:用商业工具的 MCP 面接自家编排——商业出反编译质量,自建出流程与证据,各取所长。
| 维度 | 免费开源自建(本书主线) | 商业方案(IDA 加 MCP、Binja 加 Sidekick) |
|---|---|---|
| 直接成本 | 零许可费(CodeQL 商业 CI 除外,见第 6.2 节) | 许可费加订阅,按席位或年度 |
| 能力上限 | 组件拼装,深度靠自建(CPG、闭环、证据链) | 反编译质量与稳定性成熟,上手即高水位 |
| 数据敏感性 | 全链路可内网(含本地模型,第 9.1 节) | 云端功能需评估数据出境与保密条款 |
| 可审计性 | 全开源,规则与查询可审 | 闭源组件多,审计靠厂商承诺 |
| 支持体系 | 社区文档与 issue | 商业支持与培训 |
| 生态锁定 | 低,组件可换 | 中到高,会话与工程文件格式绑定 |
决策口诀按场景给:个人学习与研究——开源主线零成本且本书全程可复现;敏感样本(内部分析、合规要求不出域)——开源加本地模型几乎是唯一解;商业交付与深度量产——混合常态:开源做流程骨架,商业反编译器按席位补深度;快速验证的小团队——可先商业深度集成起步,跑通需求后再逐步自建替换。注意表里没有「哪个更强」这一行——工具上限的决定因素往往是使用者的三线能力(第 11.3 节),而不是价签。
四种团队画像的组合示例(把口诀落到人):
| 画像 | 推荐组合 | 第一步 |
|---|---|---|
| 独立研究者 | 全开源链(本书主线) | 跑通附录 C 基础档 |
| 甲方安全团队 | 开源链加内网模型加一两席商业 | 先把证据链模板立起来 |
| 乙方交付团队 | 商业反编译器加开源流水线 | 选型表过一遍写进方案 |
| 教学实验班 | 全开源链加在线演示环境 | 附录 C 当作业库 |
拥有成本(TCO)的算法框架:许可或订阅支出,加自建链的人力投入(搭建与维护),加培训成本,减去开源链的可复用资产价值(规则库、查询库、证据链模板随项目迁移)。算框架不算数字——数字以你的实物报价与人力成本为准;但多数团队的结论方向一致:开源链的投入在前、复利在后,商业链的支出均匀、上限受席位约束。
11.1 节把「错误进制」列为幻觉三形态之一,工程解法是给所有数值断言设一道统一闸门:任何地址与常量在进入证据链之前,必须经同一个转换器落地,禁止裸数字在链上流转。
# int_convert.py —— 进制闸门:所有地址与常量必须经它统一转换 BASES = {"0x": 16, "0b": 2, "0o": 8} def parse_value(text: str) -> tuple: """解析显式进制前缀的数值,返回(整数值,进制)。拒绝裸数字与猜测。""" t = text.strip().lower() for prefix, base in BASES.items(): if t.startswith(prefix): return int(t, base), base assert t.isdigit(), "必须携带进制前缀(0x/0b/0o),禁止裸数字入链" return int(t, 10), 10 def same(a_text: str, b_text: str) -> bool: """两个不同写法的数值是否相等:模型口径与工具口径的自动比对""" a, _ = parse_value(a_text) b, _ = parse_value(b_text) return a == b if __name__ == "__main__": # 场景:模型说 win 函数在 0x401196,静态工具报告为 4198806——是否同一地址 print(same("0x401196", "4198806")) # True 才可采信,False 即幻觉,回填已证伪
部署位置有两处:其一,作为 MCP 工具层的一个小工具(第 03 章、第 05 章的编排里加一项),模型引用数值时必须调用它换算;其二,作为证据链的入库前检查——验证命令列里的数值若与输出列进制不一致,闸门报警。十几行代码,换的是一类幻觉的系统性消除,这类「小闸门」比「大平台」更能体现工程成熟度。
闸门的进制前缀纪律表(贴在团队规范里):
| 数值来源 | 合法写法 | 非法写法 |
|---|---|---|
| 反汇编地址 | 0x401196 | 401196 裸写 |
| 工具十进制报告 | 4198806 且标十进制 | 4198806 不标进制 |
| 位宽常量 | 0b 或 0o 前缀按需 | 全靠猜 |
本章对照的落点不是「站队」,而是三个判断:其一,免费开源链的能力下限已被本书证实——从静态引擎到假设闭环全程可跑;其二,商业工具的价值集中在反编译质量、稳定性与支持,按席位精准投入而非全员采购;其三,无论哪种组合,证据链与 int_convert 这类自建闸门都必须保留——它们与工具无关,是流程资产。AI 审查工作流的组织方式可参考《OpenCodeReview》第 04 章《工具、MCP 与会话》,把这里的工具决策放进更大的会话工程里看。
商业组件接入前过的采购评审五问(写在方案里,审计不问人问纸):
五问全过再谈价格;第三问与第五问答不好,价格再好也是负资产。
一句话存档:商业与开源的对照,最终比的不是「谁的功能多」,而是「你的证据链、你的数据边界、你的退出成本」在这条路上是否始终握在自己手里——握得住,买什么都对;握不住,免费的也贵。
(本节 stars 与发布日期均为 2026-10 社区口径,引用前以官方渠道复核为准。)
选型落定后的第一件事不是采购,而是把第 11.1 节的验证器菜单在新工具上重跑一遍——工具换了,菜单不换:导入表、交叉引用、污点、行为四类验证器在任何反编译器上都要能落地,落不了地的缺口要么补自建工具,要么写进方案的风险栏。## 本节要点回顾
工具定下来,最后一节立规矩:逆向的法律边界怎么把握、授权范围怎么写、团队能力怎么矩阵化、全书工作流怎么固化成 SOP——合规与团队能力,为整本书画上句号。