
B2R2 ist ein vollständig verwaltetes Binäranalyse-Framework, geschrieben in F#. Es bietet eine umfangreiche Sammlung von Algorithmen, Funktionen und Werkzeugen für Reverse Engineering, Programmanalyse und Inspektion auf Binärebene.

B2R2 ist ein vollständig verwaltetes Binary-Analyse-Framework, geschrieben in F#. Es bietet eine umfangreiche Sammlung von Algorithmen, Funktionen und Werkzeugen für Reverse Engineering, Programm-Analyse und binäre Inspektion.
Der Name B2R2 ist von R2-D2 inspiriert, dem ikonischen Roboter aus Star Wars. Ursprünglich als B2-R2 benannt, nahm das Projekt später die bindestrichfreie Form B2R2 an, da .NET-Bezeichner und Namespaces keine Bindestriche erlauben. Der Name spiegelt den Zweck des Projekts wider: "B" und "2" deuten auf binäre und Zwei-Zustands-Berechnung hin, während "R" für Reversing steht. Kurz gesagt, B2R2 ist für binäres Reversing entwickelt.
B2R2 ist analysefreundlich: Es ist in F# geschrieben, einer Sprache, die dank Funktionen wie Pattern Matching, algebraischen Datentypen und ausdrucksstarken funktionalen Abstraktionen besonders gut für den Bau von Programmanalysatoren geeignet ist.
B2R2 ist schnell: Seine zentrale Binary-Analyse-Engine ist auf Effizienz ausgelegt und in einem funktionalersten Stil geschrieben. Dadurch eignet sie sich hervorragend für reinen Parallelismus bei gängigen Analyseaufgaben wie Instruction Lifting und CFG-Wiederherstellung.
B2R2 ist einfach zu bedienen: Als vollständig verwaltete Bibliothek vermeidet es komplizierte native Abhängigkeiten. Installiere das .NET SDK, und schon kann es losgehen. Native IntelliSense-Unterstützung macht die APIs zudem leichter erkundbar.
B2R2 ist betriebssystemunabhängig: Es funktioniert unter Linux, macOS und Windows sowie auf jeder anderen von .NET unterstützten Plattform.
B2R2 ist interoperabel: Es ist nicht an eine einzelne Programmiersprache gebunden. Grundsätzlich können die B2R2-APIs aus jeder CLI-unterstützten Sprache verwendet werden.
B2R2 unterstützt Befehlsparsing, binäre Disassemblierung, Assemblierung, Kontrollfluss-Wiederherstellung und andere grundlegende Bausteine für die Binary-Analyse. Es enthält auch mehrere benutzerorientierte Befehlszeilenwerkzeuge, die mit readelf und objdump vergleichbar sind, bleibt dabei aber plattformunabhängig. B2R2 unterstützt derzeit vier Binärdateiformate: ELF, PE, Mach-O und WebAssembly.
Die folgende Tabelle fasst die derzeit von B2R2 unterstützten Funktionen zusammen. Einige Bereiche befinden sich noch in der Entwicklung, und Beiträge sind willkommen. Bevor du einen Pull-Request eröffnest, lies bitte unsere Beitragsrichtlinie.