
Framework UNIX-like de engenharia reversa e conjunto de ferramentas de linha de comando
<a href="https://radare.org/"><img border=0 src="https://assets.kitploit.com/production/public/readmes/3006/3a698148c5a0a1bc714cb3ac4439316f08cf2349b8cd75366bc1b9d2bf7f9c22.png" alt="screenshot" align="left" width="128px"></a>
## Radare2: Framework Livre de Reversão para Geeks de Unix
[](https://github.com/radareorg/radare2/actions/workflows/ci.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/build.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/tcc.yml)
[](https://bestpractices.coreinfrastructure.org/projects/741) [](https://scan.coverity.com/projects/416) [](https://discord.gg/YBey7CR9jf)
O branch `master` atual do git é `6.2.5`, a próxima versão será `6.2.6`.
### 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 a arquiteturas do r2 permite
que você analise, emule, depure, modifique e desmonte qualquer binário.
<p align="center">
<a href="https://www.radare.org/"><img src="https://assets.kitploit.com/production/public/readmes/3006/c19b136adc5b00ffa9e295f2624beea0f7fb78e36cfa8081c31116b9a5723a85.png" alt="screenshot" align="center" border=0 width="600px"></a>
</p>
## Instalação
Baixe os últimos binários [lançados](https://github.com/radareorg/radare2/releases).
A maneira recomendada de instalar o radare2 é a partir do código-fonte do repositório Git:
```sh
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
```
* Execute `sys/install.sh` para a instalação padrão acr+make+symlink
* meson/ninja (muon/samu também funciona) e builds com make são suportados.
### Nix
radare2 fornece empacotamento Nix em [`dist/nix`](https://github.com/radareorg/radare2/blob/master/dist/nix/README.md).
### Compilação a partir do código-fonte
* r2 pode ser instalado a partir do `git` ou via `pip` usando `r2env`.
* Builds para Windows requerem meson e msvc ou mingw como compiladores
* Para desinstalar a compilação atual do r2 execute `make uninstall`
* Para desinstalar TODAS as instalações do r2 no sistema faça: `sudo make purge`
No Windows use os scripts .bat e msvc:
```bat
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](https://github.com/radareorg/iaito): A interface gráfica oficial em Qt
* [keystone](https://github.com/radareorg/radare2-extras/tree/master/keystone) Instruções de montagem usando a biblioteca Keystone
* [decai](https://github.com/radareorg/r2ai) Descompilador baseado em IA
* [r2ai](https://github.com/radareorg/r2ai) Execute um Modelo de Linguagem em localhost com Llama dentro do r2!
* [r2dec](https://github.com/wargio/r2dec-js): Um descompilador baseado no r2 escrito em JS, acessado com o comando `pdd`
* [r2diaphora](https://github.com/FernandoDoming/r2diaphora): O motor de diffing binário do [Diaphora](https://github.com/joxeankoret/diaphora) sobre o radare2
* [r2flutter](https://github.com/trufae/r2flutter): Análise de snapshot AOT de Dart/Flutter para aplicativos Android e iOS
* [r2frida](https://github.com/nowsecure/r2frida): O plugin io do frida. Inicie o r2 com `r2 frida://0` para usá-lo
* [r2ghidra](https://github.com/radareorg/r2ghidra): O descompilador nativo standalone do ghidra acessível com `pdg`
* [r4ghidra](https://github.com/radareorg/r4ghidra): Sinta a alegria do radare dentro do seu Ghidra
* [r2papi](https://github.com/radareorg/radare2-r2papi) API de alto nível sobre o r2pipe
* [r2pipe](https://github.com/radareorg/radare2-r2pipe) Script radare2 a partir de qualquer linguagem de programação
* [r2poke](https://github.com/radareorg/radare2-extras/tree/master/r2poke) Integração com GNU/Poke para capacidades estendidas de parsing binário
* [goresym](https://github.com/hanemile/radare2-GoReSym): Importar símbolo GoReSym como flags
* [r2yara](https://github.com/radareorg/r2yara) Execute Yara a partir do r2 ou use primitivas do r2 a partir do Yara
* [radius2](https://github.com/radareorg/radius2): Um motor rápido de execução simbólica baseado em boolector e esil
* [r2sarif](https://github.com/radareorg/r2sarif) importar/estender/exportar documentos SARIF
* [r2hermes](https://github.com/radareorg/r2hermes) Desmontador e analisador para bytecode Hermes do React Native
* [r2renef](https://github.com/Ahmeth4n/r2renef) Plugin IO Renef para Radare2 - Instrumentação Dinâmica para Android
* [r2unity](https://github.com/radareorg/r2unity): Inspecione metadados IL2CPP do Unity e binários nativos a partir do radare2
* [warrp](https://github.com/radareorg/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
```sh
$ 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](https://github.com/radareorg/radare2-pm).
```sh
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](https://book.rada.re): Leia sobre o uso do r2
* [COMMUNITY.md](https://github.com/radareorg/radare2/blob/master/COMMUNITY.md): Envolvimento da comunidade e diretrizes gerais
* [CONTRIBUTING.md](https://github.com/radareorg/radare2/blob/master/CONTRIBUTING.md): Informações sobre como reportar problemas e
contribuir. Veja também [Contributing](#contributing)
* [DEVELOPERS.md](https://github.com/radareorg/radare2/blob/master/DEVELOPERS.md): Diretrizes de desenvolvimento para o r2
* [SECURITY.md](https://github.com/radareorg/radare2/blob/master/SECURITY.md): Instruções para reportar vulnerabilidades
* [USAGE.md](https://github.com/radareorg/radare2/blob/master/USAGE.md): Alguns comandos de exemplo
* [INSTALL.md](https://github.com/radareorg/radare2/blob/master/INSTALL.md): Instruções de instalação usando make ou meson
## Documentação
Saiba mais sobre o r2 assistindo às [palestras no youtube](https://www.youtube.com/c/r2con) da [r2con](https://rada.re/con). Há também muitos blogposts, slidedecks e o [livro oficial do radare2](https://book.rada.re), mas é sempre uma boa ideia entrar em qualquer um dos chats oficiais e deixar suas perguntas ou feedback por lá.
## Comunidade
* Website: [https://www.radare.org/](https://www.radare.org/)
* Discord: [Servidor](https://discord.gg/YBey7CR9jf)
* Mastodon: [@radareorg](https://infosec.exchange/@radareorg)
* Telegram: canais [Principal](https://t.me/radare) e [Secundário](https://t.me/radare_side)
* [irc.libera.chat](https://libera.chat): `#radare`, `#radare_side`
* [Matrix](https://matrix.to/#/#radare:matrix.org): `#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, BSD [Dragonfly, Net, Free, Open], 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, 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
## Status de Empacotamento
* [](https://snapcraft.io/radare2)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)