
B2R2 es un framework de análisis binario completamente gestionado escrito en F#. Proporciona un rico conjunto de algoritmos, funciones y herramientas para ingeniería inversa, análisis de programas e inspección a nivel binario.

B2R2 es un marco de análisis binario completamente administrado escrito en F#. Proporciona un amplio conjunto de algoritmos, funciones y herramientas para ingeniería inversa, análisis de programas e inspección a nivel binario.
El nombre B2R2 se inspira en R2-D2, el icónico robot de Star Wars. Originalmente nombrado B2-R2, el proyecto adoptó posteriormente la forma sin guion B2R2 porque los identificadores y espacios de nombres de .NET no permiten guiones. El nombre refleja el propósito del proyecto: "B" y "2" sugieren cómputo binario y de dos estados, mientras que "R" significa reversing. En resumen, B2R2 está construido para reversing binario.
B2R2 es amigable para el análisis: está escrito en F#, un lenguaje muy adecuado para construir analizadores de programas gracias a características como el pattern matching, los tipos de datos algebraicos y las expresivas abstracciones funcionales.
B2R2 es rápido: su motor central de análisis binario está diseñado para la eficiencia y está escrito en un estilo funcional primero. Esto lo convierte en un ajuste natural para el paralelismo puro en tareas comunes de análisis, como el levantamiento de instrucciones y la recuperación de CFG.
B2R2 es fácil de usar: como biblioteca completamente administrada, evita la complicada configuración de dependencias nativas. Instala el .NET SDK y estarás listo para empezar. El soporte nativo de IntelliSense también facilita la exploración de las APIs.
B2R2 es independiente del sistema operativo: funciona en Linux, macOS y Windows, así como en cualquier otra plataforma compatible con .NET.
B2R2 es interoperable: no está atado a un solo lenguaje de programación. En principio, las APIs de B2R2 se pueden usar desde cualquier lenguaje compatible con CLI.
B2R2 admite análisis sintáctico de instrucciones, desensamblado binario, ensamblado, recuperación de flujo de control y otros bloques fundamentales para el análisis binario. También incluye varias herramientas de línea de comandos orientadas al usuario, comparables a readelf y objdump, mientras permanece independiente de la plataforma. B2R2 actualmente soporta cuatro formatos de archivos binarios: ELF, PE, Mach-O y WebAssembly.
La siguiente tabla resume las funcionalidades actualmente soportadas por B2R2. Algunas áreas aún están en progreso y las contribuciones son bienvenidas. Antes de abrir un pull request, asegúrate de leer nuestra guía de contribución.