工具
B2R2 二进制分析框架
KAIST SoftSec 实验室开发的二进制分析框架,以 F# 编写、运行于 .NET。它可解析 ELF、PE、Mach-O 和 WebAssembly 文件,对指令进行解析、反汇编并提升为自有中间表示,还能恢复控制流图和汇编代码;README 的功能表涵盖 x86/x86-64、ARMv7/AArch64、MIPS、PowerPC、RISC-V、SPARC、S390 等指令集,以及 CIL、EVM、eBPF、WebAssembly 和 Python 字节码。其 b2r2 启动器可调用类似 readelf 的格式扫描器、线性扫描反汇编器、带 Web 图形界面的递归下降式探索工具、面向 IR 与汇编的 REPL 以及汇编器。
使用条件与局限
- 审阅时最新版本为 v0.10.1,发布于 2026-06-17,提供 Linux、macOS 和 Windows 的 x64 与 arm64 版 BinExplore 压缩包;B2R2.FrontEnd.API 等库以及 B2R2.RearEnd.Launcher .NET 工具在 NuGet 上的版本为 0.10.1。所审阅的 main 分支提交(2026-10-17)比该标签多 1,231 个提交,版本号仍为 0.10.1;本条目固定该提交仅用于引用文档。
- 构建需要 .NET 10 SDK 或更高版本,各项目以 net10.0 为目标框架。README 称核心库没有外部依赖,System.IO.Hashing、FSharp.Compiler.Service、FParsec、BenchmarkDotNet 和 Avalonia.FuncUI 仅用于特定组件;README 还表示其 API 可在 F# 中使用,原则上也可供其他 CLI 语言调用,并可运行于 Linux、macOS、Windows 及其他 .NET 支持的平台。
- 输入为用户提供的 ELF、PE、Mach-O 或 WebAssembly 文件,或按指定 ISA 加载的原始字节镜像。README 功能表中,只有 x86、x86-64 和 EVM 的控制流图恢复标为满月,其他指令集为半月;TMS320C6000 未列出提升、控制流图恢复和汇编支持,README 也说明部分功能仍在开发中。
- MIT 许可证。README 引用了介绍 B2R2 的 2019 年 NDSS Binary Analysis Research 研讨会论文,并列出使用或基于它的研究论文。其速度与并行性的说法未经测量;本次未运行任何工具,也未分析任何二进制。
关于此条目
- 类型
- 工具
- 类别
- 二进制分析库
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · B2R2-org/B2R2 · 修订 37de7a7
- README.md#L49-L297 GitHub · B2R2-org/B2R2 · 修订 37de7a7
- src/RearEnd/Launcher/Program.fs GitHub · B2R2-org/B2R2 · 修订 37de7a7
- Directory.Build.props GitHub · B2R2-org/B2R2 · 修订 37de7a7
- CHANGELOG.md GitHub · B2R2-org/B2R2 · 修订 37de7a7
- LICENSE.md GitHub · B2R2-org/B2R2 · 修订 37de7a7
- https://github.com/B2R2-org/B2R2/releases/tag/v0.10.1
- https://github.com/B2R2-org/B2R2/compare/v0.10.1...37de7a7274b61f7ec679153740955e7f9a94221e
- https://www.nuget.org/packages/B2R2.RearEnd.Launcher/0.10.1