
radare2 v6.2.0
Framework de rétro-ingénierie de type UNIX et ensemble d'outils en ligne de commande
Radare2 : Framework libre de rétro-ingénierie pour les geeks Unix
La branche master actuelle du dépôt git est 6.2.0, la prochaine version sera 6.2.1.
Description
r2 est une réécriture complète de radare. Il fournit un ensemble de bibliothèques, d'outils et de plugins pour faciliter les tâches de rétro-ingénierie. Distribué sous LGPLv3, bien que chaque plugin puisse avoir des licences différentes (voir r2 -Lj pour plus de détails).
Le projet radare a commencé comme un simple éditeur hexadécimal en ligne de commande axé sur la forensique. Aujourd'hui, r2 est un outil en ligne de commande de bas niveau complet, avec prise en charge des scripts via l'interpréteur JavaScript intégré ou via r2pipe.
r2 peut éditer des fichiers sur des disques durs locaux, visualiser la mémoire du noyau et déboguer des programmes localement ou via des serveurs gdb/windbg distants. Le large support d'architectures de r2 vous permet d'analyser, d'émuler, de déboguer, de modifier et de désassembler n'importe quel binaire.
Installation
Téléchargez les derniers binaires publiés.
La méthode recommandée pour installer radare2 est à partir des sources du dépôt Git :
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- Exécutez
sys/install.shpour l'installation par défaut acr+make+symlink - Les builds meson/ninja (muon/samu fonctionne aussi) et make sont pris en charge.
Nix
radare2 fournit un packaging Nix dans dist/nix.
Compilation depuis les sources
- r2 peut être installé depuis
gitou viapipen utilisantr2env. - Les builds Windows nécessitent meson et msvc ou mingw comme compilateurs
- Pour désinstaller le build actuel de r2, exécutez
make uninstall - Pour désinstaller TOUTES les installations système de r2 :
sudo make purge
Sous Windows, utilisez les scripts .bat et 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 populaires :
Avec l'outil r2pm, vous pouvez parcourir et installer de nombreux plugins et outils qui utilisent radare2.
- iaito : L'interface graphique officielle en Qt
- keystone Assemble des instructions avec la bibliothèque Keystone
- decai Décompilateur basé sur l'IA
- r2ai Exécutez un modèle de langage en localhost avec Llama dans r2 !
- r2dec : Un décompilateur basé sur r2 écrit en JS, accessible avec la commande
pdd - r2diaphora : Le moteur de diffing binaire de Diaphora au-dessus de radare2
- r2flutter : Analyse des snapshots AOT Dart/Flutter pour les applications Android et iOS
- r2frida : Le plugin io frida. Démarrez r2 avec
r2 frida://0pour l'utiliser - r2ghidra : Le décompilateur ghidra natif autonome accessible avec
pdg - r4ghidra : Ressentez la joie de radare dans votre Ghidra
- r2papi API haut niveau au-dessus de r2pipe
- r2pipe Pilotez radare2 depuis n'importe quel langage de programmation
- r2poke Intégration avec GNU/Poke pour des capacités étendues d'analyse de binaires
- goresym : Importe les symboles GoReSym comme flags
- r2yara Exécutez Yara depuis r2 ou utilisez les primitives r2 depuis Yara
- radius2 : Un moteur d'exécution symbolique rapide basé sur boolector et esil
- r2sarif importe/étend/exporte des documents SARIF
- r2hermes Désassembleur et analyseur pour le bytecode Hermes de React Native
- r2renef Plugin IO Renef pour Radare2 - Instrumentation Android dynamique
- r2unity : Inspectez les métadonnées Unity IL2CPP et les binaires natifs depuis radare2
- warrp Plugin natif radare2 pour le format WARP de binary ninja
Utilisation
Voici les premières étapes pour utiliser r2, lisez le livre ou trouvez des tutoriels pour plus de détails.
$ 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
De nombreux plugins sont inclus dans r2 par défaut. Mais vous pouvez étendre ses capacités en utilisant le gestionnaire de paquets 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
Ressources
- Livre officiel : Lisez à propos de l'utilisation de r2
- COMMUNITY.md : Engagement communautaire et lignes directrices informelles
- CONTRIBUTING.md : Informations sur le signalement de problèmes et la contribution. Voir aussi Contribuer
- DEVELOPERS.md : Directives de développement pour r2
- SECURITY.md : Instructions pour signaler des vulnérabilités
- USAGE.md : Quelques exemples de commandes
- INSTALL.md : Instructions d'installation avec make ou meson
Documentation
Apprenez-en plus sur r2 en regardant les interventions youtube de r2con. Il existe aussi de nombreux articles de blog, des présentations et le livre officiel radare2, mais c'est toujours une bonne idée de rejoindre l'un des salons de discussion officiels et d'y déposer vos questions ou commentaires.
Communauté
- Site web : https://www.radare.org/
- Discord : Serveur
- Mastodon : @radareorg
- Telegram : canaux Principal et Secondaire
- irc.libera.chat :
#radare,#radare_side - Matrix :
#radare:matrix.org
Plateformes prises en charge
Systèmes d'exploitation
Windows (depuis XP pour x86/x64/arm64), Linux, Darwin, GNU/Hurd, {Mac,i,iPad,watch}OS d'Apple, Android, Wasmer, [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, SerenityOS, Solaris, AIX, Haiku, Vinix, FirefoxOS.
Architectures
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.
Formats de fichiers
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, XCOFF, OMF, TE, XBE, SEP64, BIOS/UEFI, BFLT, applications Pebble, Apple Dyldcache, Kernelcache, MCLF trustlets, DEX, ART, classes Java, image de démarrage Android, exécutables Plan9, Amiga HUNK, ZIMG, chargeur de démarrage MBN/SBL, coredump ELF, MDMP (minidump Windows), PDP11, XTAC, CGC, DotNet, WASM (binaire WebAssembly), émulateur Commodore VICE, DOL, QNX, WAD, OFF, TIC-80, GB/GBA, PSX, PRG (C64), PEF classique d'Apple, NDS, z64 et N3DS ...
Systèmes de fichiers
Montez en espace utilisateur plusieurs systèmes de fichiers comme NTFS, FAT, HFS+, EXT, APFS, BeosFS, BFS, MINIX, ReiserFS, SFS, ubifs, ufs, jfs, ISO9660, UDF, xfs

