BinDetective
高性能静态反编译引擎

一款面向智能体时代的轻量化、高并发、多架构二进制反编译与识别引擎, 以 C++ 构建,完整对接 Ghidra Sleigh 并覆盖其全部处理器架构,自研完整的分析流水线能力,原生支持PE、ELF、Mach-O等三大格式。

151项HTTP 接口
Sleigh全谱处理器架构
3大可执行格式
120+项引擎能力
格式覆盖
PE / PE32+ ELF 32 / 64 Mach-O x86 / x64 ARM / AArch64 MIPS / PowerPC RISC-V / LoongArch SPARC / SuperH TriCore / Xtensa
Core Capabilities

不只是一次反编译,
而是一条完整的分析流水线

从文件装载、函数发现、控制流恢复到伪代码输出与结构体重建,全部由自研核心算法驱动。

函数边界识别

基于前导指令模式、调用引用与可达性传播的复合判定,在剥离符号的样本上仍能高精度划分函数起止,并支持手动注入函数种子修正。

控制流图恢复

处理条件跳转、循环、不可达代码与异常边界,还原基本块拓扑,输出可导出的 dot 图与结构化的 CFG 边界信息。

伪代码生成

C 语言伪代码输出,携带行号映射与 XML 中间表示,支持表达式简化、处理器与编译器优化、跳转表识别与 switch 归一。

类型推导与结构体重建

跨函数类型传播、参数与局部变量类型归纳;扫描基址 + 偏移访问模式后自动定义结构体并建立地址关联,支持 define / retype / forceformat 全链路控制。

交叉引用与溯源

代码、数据、字符串三类引用关系全覆盖,含调用点明细、调用图、字符串引用与全量数据引用,是理解样本行为的基础图结构。

检测与仿真

加密算法识别、混淆检测、递归 / 内联 / 尾调用识别、危险 API 调用与 API 调用序列抽取,配合字节级仿真执行与单步观察验证猜想。

How It Works

从样本到伪代码,一条清晰的四步链路

每一步都是一次普通 HTTP 调用,返回结构化 JSON。Agent 可以在任意一步介入判断, 也可以把整条链路编排成自动化流水线。

1

装载样本

自动识别架构、格式、端序与位数,返回隔离的 session_id。

Open("target.exe")
→ session: S1
2

发现函数

自研边界识别划出函数起止,枚举函数清单与规模。

ListFunctions(S1)
→ 1,274 functions
3

深度分析

反编译、控制流、交叉引用与类型推导按需取用。

Decompile("0x401000")
→ C 伪代码
4

标注沉淀

重命名、注释与结构体定义写入会话,可导出复现。

Rename(S1, …)
→ 审计留痕
151项
静态分析接口
direct 18 + session 133,单一端点路由
50族
处理器架构覆盖
完整继承 Ghidra Sleigh 全处理器定义
120项
引擎能力总量
自研流水线 + 27 项 Ghidra 对齐,共 27 项对齐接口
3大
可执行格式
PE / ELF / Mach-O,自动判定端序与位数
Self-Developed Core

全套自研底层算法,不依赖黑盒

反编译质量取决于底层程序分析的扎实程度。二进制侦探的关键环节均为自研实现, 从文件装载到反编译后端的每一段都由自研模块承担,所有环节可控、可观测、可逐层调参。

01

文件装载

PE / ELF / Mach-O 三种容器解析,段表、节区、导入导出与重定位还原。

02

函数边界与序言识别

识别函数起止范围与尾部共享块等边界情形,从序言指令判定调用约定与栈帧建立方式。

03

处理器与编译器优化

识别常见编译器生成的惯用指令序列,还原被优化掉的语义结构。

04

控制流恢复

恢复基本块与边,生成 CFG,标识循环与不可达区域。

05

跳转表与间接跳转消解

解析 switch 跳转表,结合取值域推导与常量传播,消解间接跳转与虚调用目标。

06

栈帧恢复与 ABI 分析

重建栈布局、局部变量槽位与参数落位,识别目标 ABI 的真实传参规则。

07

类型管理与类型推导

维护类型库与类型关联,支撑结构体重建、类型推导与跨函数类型传播。

08

p-code 中间表示

指令语义下沉为 p-code,跨架构统一分析,可全量转储与统计操作码分布。

09

启发式伪代码重命名

基于使用模式与 API 语义为变量与函数生成语义化命名,提升可读性。

10

符号与调试信息注入

PDB(MSF v7 + DBI)与 DWARF 4/5 解析,把符号、种子与标注注入分析上下文。

11

函数指纹与相似度

函数级哈希指纹与相似度计算,支撑样本家族聚类与库函数匹配。

12

字节流无状态分析

无需装载完整文件即可反汇编、反编译、扫描函数起点,适合流式样本。

Performance

为批量与智能体分析而生

进程常驻C++内核,摒弃GUI冗余开销,资源全力供给分析运算。 原生支持批量任务与多会话并发,高并发、高吞吐架构,轻松承载批量分析、智能体分析工作负载。

28ms
单函数反编译延迟
中等复杂度,含类型推导
2.8s
GB 级样本装载
1.2 GB PE,含函数扫描
500+
并发会话承载
session 隔离,互不干扰
150MB
常驻内存占用
空载基线,随会话线性增长

内部基准测试环境:i7-12700 / 32 GB / NVMe,1.2 GB Windows PE 样本;实际数值随样本复杂度与部署环境浮动。

函数边界识别召回率97.4%
传统桌面工具
通用脚本拼装
批量反编译吞吐1,240 fns/s
传统桌面工具
通用脚本拼装
多会话并发稳定性500+ 会话
传统桌面工具
通用脚本拼装
BinDetective 传统桌面工具 通用脚本拼装
Architecture Coverage

覆盖绝大多数处理器架构

引擎完整对接 Ghidra Sleigh 指令集描述语言,自动继承其全部架构支持能力。 支持主流通用处理器、嵌入式与工控架构、虚拟机字节码,以及多款经典复古处理器平台,可应对多样化固件与程序分析场景。

类别 处理器族(Sleigh 语言 ID) 典型场景 支持程度
桌面 / 服务器x86 · x86-64Windows 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 · LoongArchIoT 与开源硬件、国产化平台原生程序与固件完整反编译
嵌入式 / 工控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 · ToyJava / Android 字节码、内核可观测与网络策略字节码完整反编译
Sleigh 之外的架构—无官方 Sleigh 描述的处理器,仍可完成名称识别,与后续人工研判衔接名称识别
非二进制文件—十余种常见非可执行格式的兜底类型识别,避免误入反编译流程类型识别
Two Calling Models

两类接口:一次读写,或多轮会话

所有能力收敛在同一个端点,用请求体中的 interface 字段路由,无需为每个能力维护独立路由。这种设计让 Agent 侧不必承担 SDK 版本管理成本。

DIRECT

无会话接口

18

无状态、可水平扩展,一次请求返回全部结果。适合字节流即时研判、架构识别与批量脱壳后的快速扫描 —— 不占用会话资源。

SESSION

有会话接口

133

以 session_id 隔离分析状态,支持多轮交互:重命名、注释、补丁、覆写与结果持久化,会话之间互不干扰。

装载与分析 反编译与伪代码 标注与修改 会话导出 / 恢复 Ghidra 对齐接口族
BinDetective vs IDA Pro / Ghidra

和 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 全谱系)
深度人工分析
选 BinDetective 逆向要成为自动化流水线或 AI Agent 的一环:批量反编译、并发会话、结构化结果直接喂给下游系统。
选 IDA Pro 需要最成熟的专家级人工逆向体验与最广架构覆盖,且分析由人主导、GUI 交互为核心。
选 Ghidra 需要免费开源方案、团队协作式项目管理,或无头批量分析并愿意自行封装对外服务。
Use Cases

四个典型场景,同一套接口

无论是人驱动还是 Agent 驱动,链路里的每一步都对应一个可复现的接口调用。

恶意样本研判

安全分析

从入口点出发抽取 API 调用序列,识别内置加密算法与混淆器特征,把人工研判聚焦到关键 CFG 区域。

Open→CryptDetect→ApiSequence→Decompile

漏洞挖掘与补丁比对

0-day 研究

用函数指纹匹配定位新旧版本间的补丁函数,反编译差异辅助还原漏洞成因与可利用路径。

FidbMatch→Decompile→OverrideJumpTable

固件与供应链审计

IoT / 供应链

MIPS、PowerPC、RISC-V 固件直接装载,从导入导出表与字符串快速建立攻击面视图,再逐函数下钻。

Open→ImportTable→Strings→Xrefs

AI 自动化逆向

Agent Native

151 个接口天然映射为工具调用协议:模型在多轮会话里自主导航函数图、验证猜想、沉淀标注结论。

Agent Tool→session_id→多轮推理
Specification

技术规格

面向工程集成的最小约束集:一种协议、一种编码、一种鉴权方式。

协议
HTTP / 1.1 POST
JSON 请求体,单端点路由
编码
UTF-8 / JSON
响应含 status / code / result
鉴权
X-Auth-Token
环境变量 BINDETECTIVE_TOKEN
默认端口
8000
监听 127.0.0.1
实现语言
C++
轻量化、高并发,120 余项能力
参数约定
字符串数组
按位置传参,尾部空串自动裁剪
会话隔离
session_id
无隐式当前会话,需显式指定
自描述
OpenAPI 契约
GenerateOpenAPI 实时导出
FAQ

接入前,最常被问到的几件事

需要。使用 pip 安装官方客户端库即可接入全部 151 项能力:pip install bin_detective_client。客户端封装了单一 HTTP POST 端点的调用细节——请求体以 interface 字段路由、params 按位置传参、session_id 会话自动管理,安装后无需手写任何 HTTP 样板代码。
对常见混淆(控制流平坦化、不透明谓词、间接跳转),引擎内置的优化与跳转表处理可输出可读的伪代码。强加密壳建议先脱壳再装载;针对未脱壳样本,字节流无状态分析接口仍可用于架构识别与函数起点扫描。
会话状态在引擎进程内按 session_id 显式隔离,不存在隐式的"当前会话",所有会话域接口都必须在请求中带目标 ID——这从协议层面杜绝了串会话的可能。分析结束后调用 SessionClose 主动释放,也可导出会话快照异地恢复。
函数边界识别、CFG 恢复、类型推导、伪代码生成等核心链路均为自研,支持逐层观测与参数调优。p-code 中间表示在设计上与 Ghidra 保持一致,并额外提供包含原型覆写、跳转表、流覆写等能力在内的 27 项接口族,帮助具备 Ghidra 使用经验的团队低成本平滑迁移。该工具并非 Ghidra 的二次封装,仅复用 Ghidra 的 Sleigh 语言描述文件,全部核心分析算法为自主研发。
所有接口返回统一信封:status 表示成功与否,code 给出错误类别,配合 HealthStats 可实时观测各接口的调用量与耗时分布。完整错误码清单见接入指南的错误码一节。
direct 类接口无状态,天然可水平扩展;session 类接口的会话在实例内隔离,多实例部署时按 session 路由即可。健康统计接口可用于实例间的负载观测。

从第一个 POST 请求开始

装载一个样本、取一个函数地址、拿到伪代码 —— 三步即可验证引擎能力。