
radare2 v6.2.0
Framework UNIX-like de engenharia reversa e conjunto de ferramentas de linha de comando
Radare2: Libre Reversing Framework para Geeks de Unix
O branch master atual do git é 6.2.0; a próxima versão será 6.2.1.
Descrição
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, o r2 é uma ferramenta de linha de comando de baixo nível completa, com suporte a scripts com o interpretador Javascript embutido ou via r2pipe.
O r2 pode editar arquivos em discos rígidos locais, visualizar a memória do kernel e depurar programas localmente ou via servidores remotos de gdb/windbg. O amplo suporte de arquiteturas do r2 permite analisar, emular, depurar, modificar e desmontar qualquer binário.
Instalação
Baixe os últimos binários lançados.
A maneira recomendada de instalar o radare2 é a partir do código-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 - Os builds com meson/ninja (muon/samu também funcionam) e make são suportados.
Nix
O radare2 fornece empacotamento Nix em dist/nix.
Build a partir do código-fonte
- O r2 pode ser instalado a partir do
gitou viapipusandor2env. - Builds para 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 r2 no sistema, execute:
sudo make purge
No Windows, use os scripts .bat e o 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:
Com a ferramenta r2pm, você pode navegar e instalar muitos plugins e ferramentas que usam radare2.
- iaito: A interface gráfica oficial em Qt
- keystone Montagem de instruções usando a biblioteca Keystone
- decai Descompilador baseado em IA
- r2ai Execute um Modelo de Linguagem em localhost com Llama dentro do r2!
- r2dec: Um descompilador baseado em r2 escrito em JS, acessado com o comando
pdd - r2diaphora: O mecanismo de diff de binários do Diaphora sobre o radare2
- r2flutter: Análise de snapshots 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 descompilador nativo autônomo do ghidra, acessível com
pdg - r4ghidra: Sinta a alegria do radare dentro do seu Ghidra
- r2papi API de alto nível sobre o r2pipe
- r2pipe Automatize o radare2 com scripts a partir de qualquer linguagem de programação
- r2poke Integração com GNU/Poke para capacidades estendidas de análise de binários
- goresym: Importe símbolos do GoReSym como flags
- r2yara Execute Yara a partir do r2 ou use primitivas do r2 a partir do Yara
- radius2: Um motor 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 procure tutoriais para mais detalhes
$ r2 /bin/ls # open file in read-only
> aaa # analyse the program (r2 -A)
> afl # list all functions (try aflt, aflm)
> px 32 # print 32 byte hexdump current block
> s sym.main # seek to main (using flag name)
> f~foo # filter flags matching 'foo' (internal |grep)
> iS;is # list sections and symbols (rabin2 -Ss)
> pdf; agf # disassembly and ascii-art function graph
> oo+;w hello # reopen in read-write and write a string
> ?*~... # interactive filter in all command help
> q # quit
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 <word> # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg> # uninstall the given package
r2pm -l <pkg> # list installed packages
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 a palestras no youtube da r2con. Existem também muitos posts de blog, apresentações de 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 por lá.
Comunidade
- Site: https://www.radare.org/
- Discord: Servidor
- Mastodon: @radareorg
- Telegram: canais Principal e Secundário
- irc.libera.chat:
#radare,#radare_side - Matrix:
#radare:matrix.org
Plataformas Suportadas
Sistemas Operacionais
Windows (desde o XP para x86/x64/arm64), Linux, Darwin, GNU/Hurd, {Mac,i,iPad,watch}OS da Apple, 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 (WebAssembly binary), Commodore VICE emulator, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), Apple Classic PEF, NDS, z64, and 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

