Tool
B2R2
Binary analysis framework written in F# for .NET by KAIST's SoftSec Lab. It parses ELF, PE, Mach-O and WebAssembly files, parses, disassembles and lifts instructions into its own IR, recovers control-flow graphs and assembles code; the README's feature table covers x86/x86-64, ARMv7/AArch64, MIPS, PowerPC, RISC-V, SPARC, S390 and other ISAs as well as CIL, EVM, eBPF, WebAssembly and Python bytecode. Its b2r2 launcher starts a readelf-like format scanner, a linear-sweep disassembler, a recursive-descent explorer with a web GUI, an IR and assembly REPL and an assembler.
Requirements and limitations
- Latest release at review: v0.10.1, published 2026-06-17, with BinExplore archives for Linux, macOS and Windows on x64 and arm64; libraries such as B2R2.FrontEnd.API and the B2R2.RearEnd.Launcher .NET tool are on NuGet at 0.10.1. The reviewed main commit (2026-10-17) is 1,231 commits ahead of that tag and still declares 0.10.1; this entry pins it for documentation only.
- Building needs the .NET 10 SDK or later, and the projects target net10.0. The README states that the core library has no external dependencies, while System.IO.Hashing, FSharp.Compiler.Service, FParsec, BenchmarkDotNet and Avalonia.FuncUI serve specific components; it presents the APIs as usable from F# and, in principle, other CLI languages, on Linux, macOS, Windows and other .NET platforms.
- Input is a user-supplied ELF, PE, Mach-O or WebAssembly file, or a raw byte image loaded with an explicit ISA. The README's feature table gives CFG recovery a full mark only for x86, x86-64 and EVM and a half mark for the other ISAs, lists no lifting, CFG recovery or assembly for TMS320C6000, and notes that some areas are still in progress.
- MIT license. The README cites the 2019 NDSS Binary Analysis Research workshop paper describing B2R2 and lists research papers that use or build on it. Its speed and parallelism claims were not measured; no tools were run and no binaries were analyzed.
About this entry
- Type
- Tool
- Category
- Binary analysis libraries
- Relationship
- Foundation tool
- Targets
- Binary
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · B2R2-org/B2R2 · Revision 37de7a7
- README.md#L49-L297 GitHub · B2R2-org/B2R2 · Revision 37de7a7
- src/RearEnd/Launcher/Program.fs GitHub · B2R2-org/B2R2 · Revision 37de7a7
- Directory.Build.props GitHub · B2R2-org/B2R2 · Revision 37de7a7
- CHANGELOG.md GitHub · B2R2-org/B2R2 · Revision 37de7a7
- LICENSE.md GitHub · B2R2-org/B2R2 · Revision 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