BinDetective
高性能静态反编译引擎
一款面向智能体时代的轻量化、高并发、多架构二进制反编译与识别引擎, 以 C++ 构建,完整对接 Ghidra Sleigh 并覆盖其全部处理器架构,自研完整的分析流水线能力,原生支持PE、ELF、Mach-O等三大格式。
不只是一次反编译,
而是一条完整的分析流水线
从文件装载、函数发现、控制流恢复到伪代码输出与结构体重建,全部由自研核心算法驱动。
函数边界识别
基于前导指令模式、调用引用与可达性传播的复合判定,在剥离符号的样本上仍能高精度划分函数起止,并支持手动注入函数种子修正。
控制流图恢复
处理条件跳转、循环、不可达代码与异常边界,还原基本块拓扑,输出可导出的 dot 图与结构化的 CFG 边界信息。
伪代码生成
C 语言伪代码输出,携带行号映射与 XML 中间表示,支持表达式简化、处理器与编译器优化、跳转表识别与 switch 归一。
类型推导与结构体重建
跨函数类型传播、参数与局部变量类型归纳;扫描基址 + 偏移访问模式后自动定义结构体并建立地址关联,支持 define / retype / forceformat 全链路控制。
交叉引用与溯源
代码、数据、字符串三类引用关系全覆盖,含调用点明细、调用图、字符串引用与全量数据引用,是理解样本行为的基础图结构。
检测与仿真
加密算法识别、混淆检测、递归 / 内联 / 尾调用识别、危险 API 调用与 API 调用序列抽取,配合字节级仿真执行与单步观察验证猜想。
从样本到伪代码,一条清晰的四步链路
每一步都是一次普通 HTTP 调用,返回结构化 JSON。Agent 可以在任意一步介入判断, 也可以把整条链路编排成自动化流水线。
装载样本
自动识别架构、格式、端序与位数,返回隔离的 session_id。
→ session: S1
发现函数
自研边界识别划出函数起止,枚举函数清单与规模。
→ 1,274 functions
深度分析
反编译、控制流、交叉引用与类型推导按需取用。
→ C 伪代码
标注沉淀
重命名、注释与结构体定义写入会话,可导出复现。
→ 审计留痕
全套自研底层算法,不依赖黑盒
反编译质量取决于底层程序分析的扎实程度。二进制侦探的关键环节均为自研实现, 从文件装载到反编译后端的每一段都由自研模块承担,所有环节可控、可观测、可逐层调参。
文件装载
PE / ELF / Mach-O 三种容器解析,段表、节区、导入导出与重定位还原。
函数边界与序言识别
识别函数起止范围与尾部共享块等边界情形,从序言指令判定调用约定与栈帧建立方式。
处理器与编译器优化
识别常见编译器生成的惯用指令序列,还原被优化掉的语义结构。
控制流恢复
恢复基本块与边,生成 CFG,标识循环与不可达区域。
跳转表与间接跳转消解
解析 switch 跳转表,结合取值域推导与常量传播,消解间接跳转与虚调用目标。
栈帧恢复与 ABI 分析
重建栈布局、局部变量槽位与参数落位,识别目标 ABI 的真实传参规则。
类型管理与类型推导
维护类型库与类型关联,支撑结构体重建、类型推导与跨函数类型传播。
p-code 中间表示
指令语义下沉为 p-code,跨架构统一分析,可全量转储与统计操作码分布。
启发式伪代码重命名
基于使用模式与 API 语义为变量与函数生成语义化命名,提升可读性。
符号与调试信息注入
PDB(MSF v7 + DBI)与 DWARF 4/5 解析,把符号、种子与标注注入分析上下文。
函数指纹与相似度
函数级哈希指纹与相似度计算,支撑样本家族聚类与库函数匹配。
字节流无状态分析
无需装载完整文件即可反汇编、反编译、扫描函数起点,适合流式样本。
为批量与智能体分析而生
进程常驻C++内核,摒弃GUI冗余开销,资源全力供给分析运算。 原生支持批量任务与多会话并发,高并发、高吞吐架构,轻松承载批量分析、智能体分析工作负载。
内部基准测试环境:i7-12700 / 32 GB / NVMe,1.2 GB Windows PE 样本;实际数值随样本复杂度与部署环境浮动。
覆盖绝大多数处理器架构
引擎完整对接 Ghidra Sleigh 指令集描述语言,自动继承其全部架构支持能力。 支持主流通用处理器、嵌入式与工控架构、虚拟机字节码,以及多款经典复古处理器平台,可应对多样化固件与程序分析场景。
| 类别 | 处理器族(Sleigh 语言 ID) | 典型场景 | 支持程度 |
|---|---|---|---|
| 桌面 / 服务器 | x86 · x86-64 | Windows PE、Linux ELF 主流桌面与服务器程序,16 / 32 / 64 位与实模式全覆盖 | 完整反编译 |
| 移动 / ARM 生态 | ARM · AARCH64 | 移动端、嵌入式固件、iOS / Android / Apple Silicon;含 Thumb、Cortex-M 与大小端变体 | 完整反编译 |
| 精简指令集 | MIPS · PowerPC · SPARC · PA-RISC | 路由器与机顶盒固件、工业控制、网络设备、旧式工作站;含 MicroMIPS / MIPS16、VLE 等变体 | 完整反编译 |
| 新兴开源架构 | RISCV · LoongArch | IoT 与开源硬件、国产化平台原生程序与固件 | 完整反编译 |
| 嵌入式 / 工控 | SuperH · SuperH4 · V850 · TriCore · Xtensa · Atmel · M16C · M8C · MCS96 · HCS08 · HCS12 · CR16 · CP1600 | 汽车电子、MCU 固件、DSP 与控制类样本 | 完整反编译 |
| MCU / 经典平台 | 68000 · MC6800 · 8051 · 8048 · 8085 · 6502 · Z80 · PIC · TI_MSP430 | 复古硬件、单片机、教学与老旧嵌入式样本 | 完整反编译 |
| 字节码 / 虚拟机 | JVM · Dalvik · eBPF · DATA · Toy | Java / Android 字节码、内核可观测与网络策略字节码 | 完整反编译 |
| Sleigh 之外的架构 | — | 无官方 Sleigh 描述的处理器,仍可完成名称识别,与后续人工研判衔接 | 名称识别 |
| 非二进制文件 | — | 十余种常见非可执行格式的兜底类型识别,避免误入反编译流程 | 类型识别 |
两类接口:一次读写,或多轮会话
所有能力收敛在同一个端点,用请求体中的 interface 字段路由,无需为每个能力维护独立路由。这种设计让 Agent 侧不必承担 SDK 版本管理成本。
无会话接口
18无状态、可水平扩展,一次请求返回全部结果。适合字节流即时研判、架构识别与批量脱壳后的快速扫描 —— 不占用会话资源。
有会话接口
133
以 session_id 隔离分析状态,支持多轮交互:重命名、注释、补丁、覆写与结果持久化,会话之间互不干扰。
和 IDA Pro、Ghidra 放在一起看
IDA Pro 与 Ghidra 是逆向工程领域最成熟的交互式桌面工具,面向 "人坐在屏幕前逐函数深潜" 而设计; BinDetective 则把同一套分析能力封装成无界面、可被程序调用的引擎,面向 "Agent 与流水线自动分析" 而生, 三者并非替代关系,而是互补。
BinDetective
由项目作者使用 C++ 独立开发,将反编译 CFG 构建类型推导以及标注沉淀等核心逆向能力封装为 HTTP 接口调用。该工具不提供图形交互界面,全部功能通过接口对外暴露,天生适配自动化任务和多智能体编排场景。
- 定位:流水线 / 人工智能逆向基础设施
- 形态:单进程常驻 HTTP 服务,零 GUI
- 强项:高并发、会话隔离、结构化结果
IDA Pro
由 Hex-Rays 公司开发的闭源逆向分析工具,是逆向工程领域的事实标准,支持的处理器架构覆盖面极广,面向人工交互式分析的使用体验最优。反编译功能需要额外购买 Hex-Rays 插件,自动化操作依靠 IDC 或者 IDAPython 脚本进行桥接实现。
- 定位:专家人工深度逆向
- 形态:桌面 GUI,附脚本接口
- 强项:成熟度、架构广度、生态
Ghidra
由美国国家安全局 NSA 开源发布的逆向工程套件,依托 NSA 的技术沉淀,内置原生免费反编译器与 p-code 中间表示体系,自带无头分析程序以及协作服务器,更加适合团队项目协同和大规模批量样本分析场景。
- 定位:开源协作 / 批量无头分析
- 形态:桌面 GUI + analyzeHeadless
- 强项:免费、p-code、协作服务器
| 对比维度 | BinDetective引擎内置 | IDA Pro | Ghidra |
|---|---|---|---|
| 产品形态 | HTTP Server | 桌面 GUI(交互式) | 桌面 GUI + 无头分析 |
| 调用 / 接口 | 单一 HTTP 端点 | IDC / IDAPython 脚本 | Java / Python API + Server |
| 原生 HTTP 服务 | |||
| Agent 自动化编排 | 需脚本桥接 | 需自行封装服务 | |
| 高并发 / 会话隔离 | 多会话并行 | 单实例 GUI 为主 | 项目服务器,并发需自建 |
| 内置反编译器 | Hex-Rays 另购 | ||
| 结构化结果 | 统一结构化输出 | 脚本自定义导出 | 脚本自定义导出 |
| 授权 / 成本 | 永久免费 | 商业付费 | 开源免费 |
| 架构覆盖 | Sleigh 全处理器族 | 极广(行业最全之一) | 广(Sleigh 全谱系) |
| 深度人工分析 |
四个典型场景,同一套接口
无论是人驱动还是 Agent 驱动,链路里的每一步都对应一个可复现的接口调用。
恶意样本研判
安全分析从入口点出发抽取 API 调用序列,识别内置加密算法与混淆器特征,把人工研判聚焦到关键 CFG 区域。
Open→CryptDetect→ApiSequence→Decompile漏洞挖掘与补丁比对
0-day 研究用函数指纹匹配定位新旧版本间的补丁函数,反编译差异辅助还原漏洞成因与可利用路径。
FidbMatch→Decompile→OverrideJumpTable固件与供应链审计
IoT / 供应链MIPS、PowerPC、RISC-V 固件直接装载,从导入导出表与字符串快速建立攻击面视图,再逐函数下钻。
Open→ImportTable→Strings→XrefsAI 自动化逆向
Agent Native151 个接口天然映射为工具调用协议:模型在多轮会话里自主导航函数图、验证猜想、沉淀标注结论。
技术规格
面向工程集成的最小约束集:一种协议、一种编码、一种鉴权方式。
接入前,最常被问到的几件事
pip install bin_detective_client。客户端封装了单一 HTTP POST 端点的调用细节——请求体以 interface 字段路由、params 按位置传参、session_id 会话自动管理,安装后无需手写任何 HTTP 样板代码。session_id 显式隔离,不存在隐式的"当前会话",所有会话域接口都必须在请求中带目标 ID——这从协议层面杜绝了串会话的可能。分析结束后调用 SessionClose 主动释放,也可导出会话快照异地恢复。status 表示成功与否,code 给出错误类别,配合 HealthStats 可实时观测各接口的调用量与耗时分布。完整错误码清单见接入指南的错误码一节。