
radare2 v6.2.2
Framework UNIX-like de engenharia reversa e conjunto de ferramentas de linha de comando
Radare2: Framework Livre de Engenharia Reversa para Geeks Unix
O branch master atual do git é 6.2.2, o próximo lançamento será 6.2.4.
Descrição
r2 é uma reescrita completa do radare. Ele fornece um conjunto de bibliotecas, ferramentas e
plugins para facilitar tarefas de engenharia reversa. Distribuído sob LGPLv3, embora
cada plugin possa ter licenças diferentes (veja r2 -Lj para detalhes)
O projeto radare começou como um simples editor hexadecimal de linha de comando focado em forense. Hoje, r2 é uma ferramenta de linha de comando de baixo nível completa com suporte para script através do interpretador Javascript embutido ou via r2pipe.
r2 pode editar arquivos em discos rígidos locais, visualizar memória do kernel e depurar programas localmente ou via servidores remotos gdb/windbg. O amplo suporte de arquiteturas do r2 permite que você analise, emule, depure, modifique e desmonte qualquer binário.
Instalação
Baixe os binários do último lançamento.
A forma recomendada de instalar o radare2 é a partir da fonte do repositório Git:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- Execute
sys/install.shpara a instalação padrão acr+make+symlink - Builds com meson/ninja (muon/samu também funcionam) e make são suportados.
Nix
radare2 fornece empacotamento Nix em dist/nix.
Build a partir da Fonte
- r2 pode ser instalado a partir do
gitou viapipusandor2env. - Builds no Windows exigem meson e msvc ou mingw como compiladores
- Para desinstalar o build atual do r2 execute
make uninstall - Para desinstalar TODAS as instalações do sistema do r2 faça:
sudo make purge
No Windows use os scripts .bat e msvc:
preconfigure.bat REM setup python, meson, ninja
configure.bat REM run meson b + vs project
make.bat REM run ninja -C b
prefix\bin\radare2.exe
Plugins Populares:
Usando a ferramenta r2pm você pode navegar e instalar muitos plugins e ferramentas que usam radare2.
- iaito: A interface gráfica oficial Qt
- keystone Instruções de montagem usando a biblioteca Keystone
- decai Decompilador baseado em IA
- r2ai Execute um Modelo de Linguagem em localhost com Llama dentro do r2!
- r2dec: Um decompilador baseado em r2 escrito em JS, acessado com o comando
pdd - r2diaphora: O mecanismo de diffing binário do Diaphora sobre o radare2
- r2flutter: Análise de snapshot AOT Dart/Flutter para aplicativos Android e iOS
- r2frida: O plugin io do frida. Inicie o r2 com
r2 frida://0para usá-lo - r2ghidra: O decompilador ghidra nativo autônomo acessível com
pdg - r4ghidra: Sinta a alegria do radare dentro do seu Ghidra
- r2papi API de alto nível sobre o r2pipe
- r2pipe Script do radare2 a partir de qualquer linguagem de programação
- r2poke Integração com GNU/Poke para capacidades estendidas de parsing binário
- goresym: Importe símbolos GoReSym como flags
- r2yara Execute Yara a partir do r2 ou use primitivas do r2 a partir do Yara
- radius2: Um mecanismo rápido de execução simbólica baseado em boolector e esil
- r2sarif importar/estender/exportar documentos SARIF
- r2hermes Desmontador e analisador para bytecode Hermes do React Native
- r2renef Plugin IO Renef para Radare2 - Instrumentação Dinâmica Android
- r2unity: Inspecione metadados IL2CPP do Unity e binários nativos a partir do radare2
- warrp Plugin nativo do radare2 para o formato WARP do binary ninja
Uso
Estes são os primeiros passos para usar o r2, leia o livro ou encontre tutoriais para mais detalhes
$ r2 /bin/ls # abre arquivo em modo somente leitura
> aaa # analisa o programa (r2 -A)
> afl # lista todas as funções (tente aflt, aflm)
> px 32 # imprime hexdump de 32 bytes do bloco atual
> s sym.main # busca para main (usando nome da flag)
> f~foo # filtra flags que correspondem a 'foo' (|grep interno)
> iS;is # lista seções e símbolos (rabin2 -Ss)
> pdf; agf # desmontagem e grafo de funções em arte ASCII
> oo+;w hello # reabre em leitura-escrita e escreve uma string
> ?*~... # filtro interativo em toda a ajuda de comandos
> q # sai
Muitos plugins estão incluídos no r2 por padrão. Mas você pode estender suas capacidades usando o gerenciador de pacotes r2pm.
r2pm -s <palavra> # busca pacotes que correspondem a uma palavra
r2pm -Uci <pkg> # atualiza o banco de dados e instala limpo um pacote
r2pm -u <pkg> # desinstala o pacote fornecido
r2pm -l <pkg> # lista pacotes instalados
Recursos
- Livro Oficial: Leia sobre o uso do r2
- COMMUNITY.md: Engajamento da comunidade e diretrizes gerais
- CONTRIBUTING.md: Informações sobre como relatar problemas e contribuir. Veja também Contribuindo
- DEVELOPERS.md: Diretrizes de desenvolvimento para o r2
- SECURITY.md: Instruções para relatar vulnerabilidades
- USAGE.md: Alguns comandos de exemplo
- INSTALL.md: Instruções de instalação usando make ou meson
Documentação
Aprenda mais sobre o r2 assistindo palestras no youtube do r2con. Há também muitos posts de blog, slides e o livro oficial do radare2, mas é sempre uma boa ideia entrar em qualquer um dos chats oficiais e deixar suas perguntas ou feedback lá.
Comunidade
- Website: https://www.radare.org/
- Discord: Servidor
- Mastodon: @radareorg
- Telegram: Canais Principal e Lateral
- irc.libera.chat:
#radare,#radare_side - Matrix:
#radare:matrix.org
Plataformas Suportadas
Sistemas Operacionais
Windows (desde XP para x86/x64/arm64), Linux, Darwin, GNU/Hurd, Apple's {Mac,i,iPad,watch}OS, Android, Wasmer, [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, SerenityOS, Solaris, AIX, Haiku, Vinix, FirefoxOS.
Arquiteturas
i386, x86-64, Alpha, ARM, AVR, BPF, sBPF, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, S390, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, PDP11, m680x, V850, CRIS, XAP (CSR), PIC, LM32, 8051, 6502, i4004, i8080, Propeller, EVM, OR1K Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, xcore, NIOS II, Java, Dalvik, Pickle, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55+, c64x), Hexagon, Brainfuck, Malbolge, whitespace, DCPU16, LANAI, lm32, MSIL, InfernoDis, UXN, Cosmac, PythonBytecode, Sharp sm5xx MCPus, FreeScale QIQa, MCORE, mcs96, RSP, SuperH-4, VAX, KVX, Am29000, LOONGARCH, JDH8, s390x, STM8.
Formatos de Arquivo
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, XCOFF, OMF, TE, XBE, SEP64, BIOS/UEFI, BFLT, Pebble apps, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, Java class, Android boot image, Plan9 executables, Amiga HUNK, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), PDP11, XTAC, CGC, DotNet, WASM (binário WebAssembly), Commodore VICE emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64, e N3DS ...
Sistemas de Arquivos
Monte em userland vários sistemas de arquivos como NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

