Binary Ninja 是一个交互式反汇编器、反编译器和二进制分析平台,适用于逆向工程、恶意软件分析师、漏洞研究人员和软件开发人员,在 Windows、macOS、Linux 上运行。
反汇编:反汇编各种格式、平台和架构的可执行文件和库。
反编译:针对任何支持的架构(包括您自己的架构)将代码反编译为 C 或 BNIL。
自动化:在 UI 内部或外部使用 C++、Python 和 Rust API 进行自动分析。
分析:可视化控制流并交互式导航交叉引用。
注释:命名变量和函数、应用类型、创建结构和添加注释。
协作:使用我们的企业产品轻松协作同步提交。
特点:
文件反汇编 – Vector 35 为反汇编各种架构提供本机支持,包括 x86、x86-64、ARMv7(带 Thumb2)、ARMv8 (AArch64)、PowerPC、6502、Z80 和 MIPS。此外,我们的社区通过我们的公共插件生态系统支持许多其他架构。加载器适用于所有主要平台(PE、Mach-O、ELF),并且可以使用我们的 API 进行扩展或自定义。
代码反编译 – 我们的内置反编译器只需一个价格即可在所有官方支持的架构上运行,并且基于名为 BNIL 的强大 IL 系列。事实上,不仅是我们的架构,甚至社区的架构也能产生惊人的反编译效果。我们的反编译器输出到 C 和 BNIL,并且可以根据请求启用。
自动化任何事情 – 我们广泛的 API 可用于创建和配置加载程序、添加或扩展架构、自定义用户界面或自动化任何工作流程(类型、补丁、反编译……应有尽有!)。绑定适用于 C++、Python 和 Rust。
创建插件 – 制作了一些很酷的东西并想分享?发布您的社区插件并将其列在我们的插件管理器中!这些插件可以由任何客户端随时直接在客户端内安装(或更新)。
快速排序 – 使用我们的 API 快速批处理文件并在排序视图中查看结果。使用熵图来识别感兴趣的区域,例如打包或加密的数据。单击任意位置可快速前往该位置。
交互式探索 – 我们不仅为二进制分析构建了最好的自动化和 API,我们还精心设计了我们的用户界面。没有干扰,但拥有完成最大任务所需的所有功能,包括多个选项卡、同步和拆分视图、自定义布局等等。
全部注释 – 逆向工程是探索未知事物的过程。随着您的理解的提高,我们为您提供展示它并改进您的分析的工具。添加类型、结构、注释、突出显示、标签等。
高效修补 – 使用专为提高速度而设计的各种工具快速高效地创建二进制修补程序。直接编辑装配线,选择预设补丁,使用我们的十六进制编辑器编辑原始字节,甚至使用我们自己的内置 SCC 编译器直接将 C 编译为可执行文件。
切换平台 – 你永远不会陷入困境。 Binary Ninja 不仅可以在 Windows、macOS 和 Linux 上无缝运行,而且还可以以一种价格包含所有三个平台。
无头运行 – 无需仅在 Binary Ninja 内部进行分析。相反,请将 Binary Ninja 添加到您的分析环境中。使用您选择的Python repl,甚至将我们的核心分析库静态编译到现有框架中,我们的分析可以与用户界面完全解耦。
官方网站上提供了发行说明binary.ninja