Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
B2R2 — B2R2 é um framework de análise binária totalmente gerenciado escrito em F#. Ele fornece um conjunto rico de algoritmos, funções e ferramentas para engenharia reversa, análise de programas e inspeção em nível binário. | Kitploit
Ferramentas/GitHubGitHub/b2r2-org/b2r2
Análise EstáticaAnálise Dinâmica (Sandboxing)Engenharia ReversaFuzzingAnálise de BináriosPapers e PesquisaAprendizado e Educação
GitHubb2r2-org/b2r2

B2R2

B2R2 é um framework de análise binária totalmente gerenciado escrito em F#. Ele fornece um conjunto rico de algoritmos, funções e ferramentas para engenharia reversa, análise de programas e inspeção em nível binário.

Ver Repositório
459676há 12h 8mRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Site
Compartilhar

alt text

B2R2 B2R2

B2R2

B2R2 é um framework de análise binária totalmente gerenciado escrito em F#. Ele fornece um rico conjunto de algoritmos, funções e ferramentas para engenharia reversa, análise de programas e inspeção em nível binário.

O nome B2R2 se inspira em R2-D2, o icônico robô de Star Wars. Originalmente chamado de B2-R2, o projeto posteriormente adotou a forma sem hífen B2R2 porque identificadores e namespaces .NET não permitem hífens. O nome reflete o propósito do projeto: "B" e "2" sugerem computação binária e de dois estados, enquanto "R" significa reversing. Em suma, B2R2 foi construído para reversing binário.

Visão Geral

  1. B2R2 é analisável: é escrito em F#, uma linguagem bem adequada para construir analisadores de programas graças a recursos como pattern matching, tipos de dados algébricos e abstrações funcionais expressivas.

B2R2 é rápido: seu mecanismo principal de análise binária é projetado para eficiência e escrito em um estilo funcional-first. Isso o torna uma escolha natural para paralelismo puro em tarefas comuns de análise, como elevação de instruções e recuperação de CFG.

  • B2R2 é fácil de usar: como uma biblioteca totalmente gerenciada, evita configurações complicadas de dependências nativas. Instale o .NET SDK e você estará pronto para começar. O suporte nativo ao IntelliSense também facilita a exploração das APIs.

  • B2R2 é independente de SO: funciona em Linux, macOS e Windows, bem como em qualquer outra plataforma suportada pelo .NET.

  • B2R2 é interoperável: não está vinculado a uma única linguagem de programação. Em princípio, as APIs do B2R2 podem ser usadas a partir de qualquer linguagem suportada pelo CLI.

  • Características

    O B2R2 suporta parsing de instruções, desmontagem binária, montagem, recuperação de fluxo de controle e outros blocos fundamentais para análise binária. Ele também inclui várias ferramentas de linha de comando voltadas ao usuário, comparáveis a readelf e objdump, permanecendo independente de plataforma. Atualmente, o B2R2 suporta quatro formatos de arquivos binários: ELF, PE, Mach-O e WebAssembly.

    A tabela abaixo resume os recursos atualmente suportados pelo B2R2. Algumas áreas ainda estão em desenvolvimento, e contribuições são bem-vindas. Antes de abrir um pull request, leia nossa diretriz de contribuição.

    CPUDocsIns ParsingDisasmLiftingCFG RecoveryAssembly
    x86:full_moon::full_moon::full_moon::full_moon::full_moon::full_moon:
    x86-64:full_moon::full_moon::full_moon::full_moon::full_moon::full_moon:
    ARMv7:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    ARMv8 (AArch64):full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    MIPS32:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    MIPS64:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    EVM:full_moon::full_moon::full_moon::full_moon::full_moon::new_moon:
    TMS320C6000:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon:

    Dependências

    O B2R2 mantém intencionalmente uma pegada de dependências pequena para simplificar as compilações e manter o núcleo focado em algoritmos eficientes e estruturas de dados para análise binária. A biblioteca principal não tem dependências externas, e a maioria das bibliotecas externas são opcionais e usadas apenas por componentes ou ferramentas específicas. Abaixo está a lista de bibliotecas externas usadas pelo projeto.

    • System.IO.Hashing
    • FSharp.Compiler.Service
    • FParsec
    • BenchmarkDotNet
    • Avalonia.FuncUI

    Documentação da API

    Nossa documentação é gerada com fsdocs e está disponível em https://b2r2.org/B2R2/.

    Exemplo

    Vamos tentar usar as APIs do B2R2.

    1. Primeiro, crie um diretório vazio chamado DIRNAME:

      root@kitploit:~
      mkdir DIRNAME
      cd DIRNAME
      
    2. Em seguida, crie um projeto de console vazio com a ferramenta de linha de comando dotnet:

      root@kitploit:~
      $ dotnet new console -lang F#
      
    3. Adicione o pacote NuGet B2R2.FrontEnd.API ao projeto:

      root@kitploit:~
      $ dotnet add package B2R2.FrontEnd.API
      
    4. Modifique o arquivo Program.fs com seu editor favorito da seguinte forma:

      root@kitploit:~
      open B2R2
      open B2R2.FrontEnd
      
      [<EntryPoint>]
      let main argv =
        let isa = ISA "amd64"
        let bytes = [| 0x65uy; 0xffuy; 0x15uy; 0x10uy; 0x00uy; 0x00uy; 0x00uy |]
        let hdl = BinHandle(bytes, isa)
        let lifter = hdl.NewLiftingUnit()
        let ins = lifter.ParseInstruction 0UL // analisa a instrução no offset 0
        lifter.LiftInstruction ins |> printfn "%A"
        0
      
    5. Execute digitando dotnet run. Você deverá ver as instruções IR elevadas no seu console. Pronto! Você acabou de elevar uma instrução Intel com apenas algumas linhas de código F#.

    Compilação

    Compilar o B2R2 é simples. Instale o .NET 10 SDK ou posterior, e você estará pronto para compilar a partir da raiz do código-fonte.

    • Para compilar o B2R2 em modo release, execute dotnet build -c Release.

    • Para compilar o B2R2 em modo debug, execute dotnet build.

    Para mais informações sobre como configurar um ambiente de desenvolvimento F#, visite o site oficial do F#: http://fsharp.org/.

    Créditos

    O B2R2 foi desenvolvido por membros do SoftSec Lab no KAIST em colaboração com o Cyber Security Research Center (CSRC) no KAIST. Consulte AUTHORS.md para a lista completa de contribuidores.

    Citação

    Se você usar o B2R2 em sua pesquisa, considere citar nosso artigo:

    root@kitploit:~
    @INPROCEEDINGS{jung:bar:2019,
      author = {Minkyu Jung and Soomin Kim and HyungSeok Han and Jaeseung Choi and Sang Kil Cha},
      title = {{B2R2}: Building an Efficient Front-End for Binary Analysis},
      booktitle = {Proceedings of the NDSS Workshop on Binary Analysis Research},
      year = 2019
    }
    

    Tutorial

    Um tutorial online está disponível para o B2R2, que cobre os fundamentos do uso do B2R2 e fornece exemplos práticos. Confira no seguinte link: https://b2r2.org/tutorial-icst2026/.

    Publicações

    Abaixo estão artigos que usam ou se baseiam no B2R2. Se o seu trabalho deve ser incluído, por favor abra um pull request.

    • EVMpress: Precise Type Inference for Next-Generation EVM Decompilation, CBT 2025 (PDF)
    • Towards Sound Reassembly of Modern x86-64 Binaries, ASPLOS 2025 (PDF)
    • PoE: A Domain-Specific Language for Exploitation, SVCC 2024 (PDF)
    • FunProbe: Probing Functions from Binary Code through Probabilistic Analysis, FSE 2023 (PDF)
    • How'd Security Benefit Reverse Engineers? The Implication of Intel CET on Function Identification, DSN 2022 (PDF)
    • Smartian: Enhancing Smart Contract Fuzzing with Static and Dynamic Data-Flow Analyses, ASE 2021 (PDF)
    • NTFuzz: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis, Oakland 2021 (PDF)
    Baixar ferramenta
    AVR:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    PA-RISC:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon:
    PPC32:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    SPARC:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    SH4:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon:
    RISC-V:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
    S390:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon: