
Framework de rétro-ingénierie de type UNIX et ensemble d'outils en ligne de commande
<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 de reversing libre pour les geeks 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)
La branche git `master` actuelle est `6.2.5`, la prochaine version sera `6.2.6`.
### 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 reverse engineering. 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 bas niveau complet, avec prise en charge du scripting via l'interpréteur Javascript intégré ou via r2pipe.
r2 peut éditer des fichiers sur les disques durs locaux, visualiser la mémoire du noyau et déboguer des programmes localement ou via des serveurs gdb/windbg distants. La large prise en charge d'architectures de r2 vous permet d'analyser, d'émuler, de déboguer, de modifier et de désassembler n'importe quel binaire.
<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>
## Installation
Téléchargez les derniers binaires [publiés](https://github.com/radareorg/radare2/releases).
La méthode recommandée pour installer radare2 est à partir des sources du dépôt Git :
```sh
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
```
* Exécutez `sys/install.sh` pour 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 sous [`dist/nix`](https://github.com/radareorg/radare2/blob/master/dist/nix/README.md).
### Compilation depuis les sources
* r2 peut être installé depuis `git` ou via `pip` en utilisant `r2env`.
* Les builds Windows nécessitent meson et msvc ou mingw comme compilateurs
* Pour désinstaller la version actuelle de r2, exécutez `make uninstall`
* Pour désinstaller TOUTES les installations système de r2, faites : `sudo make purge`
Sous Windows, utilisez les scripts .bat et 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 populaires :
Avec l'outil `r2pm`, vous pouvez parcourir et installer de nombreux plugins et outils qui utilisent radare2.
* [iaito](https://github.com/radareorg/iaito) : L'interface graphique Qt officielle
* [keystone](https://github.com/radareorg/radare2-extras/tree/master/keystone) Instructions d'assembleur utilisant la bibliothèque Keystone
* [decai](https://github.com/radareorg/r2ai) Décompilateur basé sur l'IA
* [r2ai](https://github.com/radareorg/r2ai) Exécutez un modèle de langage en localhost avec Llama dans r2 !
* [r2dec](https://github.com/wargio/r2dec-js) : Un décompilateur basé sur r2 écrit en JS, accessible avec la commande `pdd`
* [r2diaphora](https://github.com/FernandoDoming/r2diaphora) : Le moteur de diff binaire de [Diaphora](https://github.com/joxeankoret/diaphora) au-dessus de radare2
* [r2flutter](https://github.com/trufae/r2flutter) : Analyse des snapshots AOT Dart/Flutter pour les applications Android et iOS
* [r2frida](https://github.com/nowsecure/r2frida) : Le plugin io frida. Lancez r2 avec `r2 frida://0` pour l'utiliser
* [r2ghidra](https://github.com/radareorg/r2ghidra) : Le décompilateur ghidra natif autonome accessible avec `pdg`
* [r4ghidra](https://github.com/radareorg/r4ghidra) : Ressentez la joie de radare dans votre Ghidra
* [r2papi](https://github.com/radareorg/radare2-r2papi) API de haut niveau au-dessus de r2pipe
* [r2pipe](https://github.com/radareorg/radare2-r2pipe) Scriptez radare2 depuis n'importe quel langage de programmation
* [r2poke](https://github.com/radareorg/radare2-extras/tree/master/r2poke) Intégration avec GNU/Poke pour des capacités étendues d'analyse binaire
* [goresym](https://github.com/hanemile/radare2-GoReSym) : Importer les symboles GoReSym en tant que flags
* [r2yara](https://github.com/radareorg/r2yara) Exécutez Yara depuis r2 ou utilisez les primitives r2 depuis Yara
* [radius2](https://github.com/radareorg/radius2) : Un moteur d'exécution symbolique rapide basé sur boolector et esil
* [r2sarif](https://github.com/radareorg/r2sarif) importer/étendre/exporter des documents SARIF
* [r2hermes](https://github.com/radareorg/r2hermes) Désassembleur et analyseur pour le bytecode React Native Hermes
* [r2renef](https://github.com/Ahmeth4n/r2renef) Plugin IO Renef pour Radare2 - Instrumentation dynamique Android
* [r2unity](https://github.com/radareorg/r2unity) : Inspectez les métadonnées Unity IL2CPP et les binaires natifs depuis radare2
* [warrp](https://github.com/radareorg/warrp) Plugin radare2 natif 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
```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
```
De nombreux plugins sont inclus par défaut dans r2. Mais vous pouvez étendre ses capacités
en utilisant le gestionnaire de paquets [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
```
## Ressources
* [Livre officiel](https://book.rada.re) : En savoir plus sur l'utilisation de r2
* [COMMUNITY.md](https://github.com/radareorg/radare2/blob/master/COMMUNITY.md) : Engagement communautaire et directives générales
* [CONTRIBUTING.md](https://github.com/radareorg/radare2/blob/master/CONTRIBUTING.md) : Informations sur le signalement de problèmes et
la contribution. Voir aussi [Contributing](#contributing)
* [DEVELOPERS.md](https://github.com/radareorg/radare2/blob/master/DEVELOPERS.md) : Directives de développement pour r2
* [SECURITY.md](https://github.com/radareorg/radare2/blob/master/SECURITY.md) : Instructions pour signaler des vulnérabilités
* [USAGE.md](https://github.com/radareorg/radare2/blob/master/USAGE.md) : Quelques exemples de commandes
* [INSTALL.md](https://github.com/radareorg/radare2/blob/master/INSTALL.md) : Instructions d'installation avec make ou meson
## Documentation
Apprenez-en plus sur r2 en regardant les [conférences youtube](https://www.youtube.com/c/r2con) de [r2con](https://rada.re/con). Il existe également de nombreux articles de blog, diaporamas et le [livre officiel radare2](https://book.rada.re), mais c'est toujours une bonne idée de rejoindre l'un des chats officiels et d'y poser vos questions ou d'y laisser vos commentaires.
## Communauté
* Site web : [https://www.radare.org/](https://www.radare.org/)
* Discord : [Serveur](https://discord.gg/YBey7CR9jf)
* Mastodon : [@radareorg](https://infosec.exchange/@radareorg)
* Telegram : Canaux [Main](https://t.me/radare) et [Side](https://t.me/radare_side)
* [irc.libera.chat](https://libera.chat) : `#radare`, `#radare_side`
* [Matrix](https://matrix.to/#/#radare:matrix.org) : `#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, Java class, image de démarrage Android, exécutables Plan9, Amiga HUNK,
ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), PDP11, XTAC, CGC, DotNet,
WASM (binaire WebAssembly), émulateur Commodore VICE, DOL, QNX, WAD, OFF, TIC-80,
GB/GBA, PSX, PRG (C64), Apple Classic PEF, 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
## État du packaging
* [](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)