B2R2 is a collection of handy libraries and tools for binary analysis, written purely in F#.

Download it now!

Binary Analysis Made Easy and Fun!

What are the features of B2R2?


λ

Functional First

Written purely in F#, providing all the syntactic goodies for writing program analyzers, such as pattern matching, algebraic data types, and etc.

Fast Frontend

B2R2 naturally supports pure parallelism thanks to F#, and is highly optimized for parsing and lifting optimized IR statements.

Fully Managed

As it is fully managed, there is absolutely no dependency hell for B2R2. All you need to do is to install .NET SDK to play with it!

OS Independent

B2R2 runs on any OS, such as Linux, macOS, and Windows, as long as .NET supports it.

Language Agnostic

Although B2R2 is written in F#, it can interoperate well with other languages, such as Python and C#.

Open Source

Since B2R2 is MIT licensed, you can even use it commercially!

Download B2R2

B2R2 binaries are available for download in both NuGet and GitHub!

                 

The source is freely available on GitHub.

Building B2R2 is as easy as just typing dotnet build in your terminal! No dependency hell. It just works!

We are looking forward to your contribution!

Please read carefully the contribution guideline before you create a pull request.


Fork B2R2 on GitHub now!

FAQ

 

Q. What's the meaning of B2R2?

B2R2 is a binary analysis framework, thus, the name is related to "binary" and "reversing". In fact, both "B" and "2" stand for binary, and "R" means reversing. Originally, the name of our framework was B2-R2, which was named after R2-D2, a famous fictional robot appeared in the Star Wars. However, we decided to omit the dash (-) as .NET does not allow it in identifiers (or namespaces) anyways.

Q. Does the logo have any special meaning?

Yes, it is inspired by Bagua. The two robots facing each other at the center of the logo resembles the Tai Chi symbol of Bagua. In Taoism, every object in the universe is considered to have their own energy (or force; to use the Star Wars terminology). The energy can be either negative or positive, which is called Yin and Yang, respectively. The concept of Yin and Yang is strikingly similar to "binary", because two seemingly opposite binary values (0 and 1) can form any computations that a computer can perform. The repeated B2R2 letters appeared in the logo also represent Yin and Yang (or binary) as its color alternates.