
radare2 v6.2.0
Framework UNIX-like de engenharia reversa e conjunto de ferramentas de linha de comando
Radare2: Framework Livre de Reversão para Geeks de Unix
O branch master atual do git é 6.2.3, a próxima versão 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 a scripting com o 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 gdb/windbg remotos. O amplo suporte de arquiteturas do r2 permite que você analise, emule, depure, modifique e desmonte qualquer binário.
Instalação
Baixe os últimos binários lançados.
A forma 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 - builds com meson/ninja (muon/samu também funciona) e make são suportados.
Nix
radare2 fornece empacotamento Nix em dist/nix.
Build a partir do Código-Fonte
- r2 pode ser instalado a partir do
gitou viapipusandor2env. - Builds para Windows requerem 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 o radare2.
- iaito: A interface gráfica oficial em Qt
- keystone Instruções de montagem 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 motor de diffing binário do Diaphora sobre o radare2
- r2flutter: Análise de snapshot Dart/Flutter AOT para apps Android e iOS
- r2frida: O plugin io do frida. Inicie o r2 com
r2 frida://0para usá-lo - r2ghidra: O descompilador nativo standalone 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 Faça scripting 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 do GoReSym como flags
- r2yara Execute Yara a partir do r2 ou use primitivas do r2 a partir do Yara
- radius2: Um motor de execução simbólica rápido baseado em boolector e esil
- r2sarif importe/estenda/exporte 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 # 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 sã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: Envolvimento da comunidade e diretrizes gerais
- CONTRIBUTING.md: Informações sobre relatar problemas e contribuir. Veja também Contributing
- 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

