Skip to content

Instantly share code, notes, and snippets.

@xshill
Last active January 9, 2019 14:37
Show Gist options
  • Save xshill/d80e0f85009cda992143f2cc9531f81f to your computer and use it in GitHub Desktop.
Save xshill/d80e0f85009cda992143f2cc9531f81f to your computer and use it in GitHub Desktop.
c sick radare
======== Ouvrir radare2 ========
Ouvrir un programme dans radare2: `r2 file_path`
Ouvrir un programme dans radare2 en mode debug: `r2 -d file_path`
Lancer radare2 avec un programme qui roule deja: `r2 -d program_pid`
======== Commandes de base ========
`aaa`: analyse toute (toujours faire ca au debut)
`q`: quitter
`v`: mode visuel (tres tres cool)
`s XXXX`: aller a l'adresse X
ex: `s 0x400010` pour aller a l'adresse 0x400010
ex: `s main` pour aller a la fonction main
ex: `s sym.my_function` pour aller a la fonction "sym.my_function" [les noms des fonctions commencent souvent par "sym."]
`doo`: ouvre une nouvelle instance du programme, en mode debug
`afvn`: renommer une variable de la fonction actuelle (memo: afvn == alter/analyze function variable name)
ex: `afvn local_10h counter` renomme la variable "local_10h" a "counter"
`afn`: renommer la fonction actuelle
ex: `afn important_function` renomme la fonction actuelle a "important_function"
`?`: afficher l'aide
`a?`: afficher l'aide pour les commandes debutant par "a" (fonctionne pour toutes les lettres)
`aa?`: afficher l'aide pour les commandes debutant par "aa"
`? <expression>`: evalue une expression et affiche le resultat sous plusieurs formes (decimal, hexadecimal, string, etc.)
ex: `? 40 + 25` affichera (entre autres) les valeurs 65, 0x41 et le caractere 'A'
ex: `? [XXXX]` affichera la valeur a l'adresse XXXX
ex: `? main`, `? sym.my_function` affichent l'adresse de "main" et de "sym.my_function" (fonctionne pour tous les symboles)
======== Raccourcis du mode visuel/mode graphe ========
haut/bas: se deplacer
`shift+v`: mode graphe
`q`: quitter le mode visuel/graphe
`p`: mode d'affichage suivant
`shift+p`: mode d'affichage precedent
`escape`: permet d'entrer des commandes dans un mode visuel (comme dans vim, les commandes sont ecrites au bas de l'ecran)
`s`: step in (execute une instruction, rentre dans les call) [mode debug seulement]
`shift+s`: step over (execute une instruction, saute par dessus les call) [mode debug seulement]
`b`: mettre un breakpoint a "l'adresse de seek" (adresse actuelle, la premiere adresse en haut)
======== Informations utiles ========
Les commandes textuelles supportent le tab-completion.
ex: `s <TAB>` affichera une liste de tous les symboles auxquels on peut se deplacer
ex: `s sym.<TAB>` affichera une liste de tous les symboles commencant par `sym.`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment