SuperAPI AI 工具集

re-binaryninja

编程与开发

查看项目

更新于 10-15 21:34

技能介绍

用途:Binary Ninja 逆向工作流,适合需要 MLIL 中间语言阅读函数逻辑、用 Python 脚本自动化标注/批处理、用 DFG 数据流图追踪单值流向,以及分析 x86/ARM/MIPS/RISC-V/PowerPC 等多架构目标的场景。也可在 RE_DECOMPILER=binaryninja 时作为反编译器。已有 Ghidra/IDA 工作流且无换栈动机、纯命令行快速分析、以动态调试为主、个人版做大规模无头自动化时不宜使用。

主要能力:MLIL 变量显式化、类型恢复、条件跳转语义化,比裸反汇编可读;支持反汇编/LLIL/MLIL/HLIL 逐层切换核对;重命名、改类型、定义结构体并随类型传播改善反编译;Python API 可批量改名、导出 HLIL 文本、脚本化字符串与引用定位;DFG 可视化变量/常量传播路径;直接导入 PE/ELF/Mach-O/Dalvik/固件 ROM。

使用方式:官网 binary.ninja 获取(商业版/个人版/免费档)。Windows 运行安装器;macOS 用 brew install --cask binary-ninja;Linux 解压后运行 ./binaryninja。API 安装需在安装目录运行 python install_api.py,验证用 python3 -c "import binaryninja; print(binaryninja.core_version())"。无头批处理无独立 CLI,注册 API 后写脚本 binaryninja.load() 并调用 update_analysis_and_wait()。切 IL 用 i 键,m 键是整数应用枚举显示。

限制:Free 版无 API 与插件访问、IL 受限;headless 为商业版能力,个人版受限;MLIL 对混淆代码可能失真,需降级 LLIL/汇编核对;大二进制默认分析慢、内存高;patch 后需重分析;.bndb 项目库与样本分离;宽字符字符串可能乱码需手动设宽度。版本与插件细节暂未提供更多。