guest@6admin.io:~$

radare : un débugger très abouti

Après le harnais Perl greffé sur GDB et avant que Metasm ne m’entraîne vers Ruby, il y a eu radare. Un débugger en mode console, écrit par pancake (Nibble), qui fait tout ce que GDB fait pour l’exploitation, mais avec une interface pensée pour le reverse engineering plutôt que pour le debugging applicatif.

Ce que radare fait que GDB ne fait pas

GDB est un débugger applicatif: il s’arrête sur des points de rupture, imprime des variables, suit des appels. radare est un outil de reverse engineering: il désassemble, analyse les chaînes, cherche les gadgets, calcule les offsets et laisse naviguer dans le binaire comme dans un système de fichiers.

$ radare ./main
[0x08048360]> pdf @ main
[0x08048360]> / ROP
[0x08048360]> aa; pdf

Les commandes sont cryptiques (pdf = print disassemble function, aa = analyse all, / = search), mais après une semaine on ne revient plus à GDB pour l’exploitation. C’est un vim du reverse: la courbe d’apprentissage est raide et le gain est permanent.

Ce que ça a changé pour moi

Le harnais Perl que j’ai construit en 2007 pilotait GDB par Devel::GDB: lire les registres, poser des breakpoints, chercher une valeur en mémoire. radare fait tout ça nativement et ajoute ce que GDB ne fait pas: l’analyse statique (pas besoin d’exécuter), la recherche de gadgets ROP (mots-clés dans les instructions), l’analyse des références croisées entre fonctions et le padding d’offsets par heuristique.

C’est le jour où j’ai compris que l’exploitation automatisée n’avait pas besoin de GDB: elle avait besoin d’un analyseur binaire. Le harnais a continué de tourner avec GDB, mais la direction était trouvée.

Ce que ça vaut

radare (et son fork radare2, qui a pris le relais) est l’outil de reverse engineering qui a survécu à tout: OllyDbg est mort, SoftICE est mort, Immunity a fait son temps, GDB reste un débugger mais pas un reverser. radare est toujours activement développé, toujours gratuit, toujours en mode console.

[edit: 2026] radare2 est devenu un framework complet: r2 (le core), r2pm (gestion de paquets), r2ghidra (décompilateur intégré), r2frida (débogage sur Android/iOS). L’outil que j’utilisais en 2008 pour chercher des gadgets JMP ESP a lui-même fait l’objet de CVE d’exécution de code depuis, l’analyseur de binaires devenant à son tour une surface d’attaque.