| 
					Petit guide de survie pour radare2
				 | 
| 
					14-08-2014, 19h06 
				 Message : #1 | |
| supersnail   Éleveur d'ornithorynques        Messages : 1,617 Sujets : 73 Points: 467 Inscription : Jan 2012 | Petit guide de survie pour radare2 
		I - Introduction Radare2 est, comme certains le savent peut-être, un outil d'analyse de binaires/shellcode assez puissant, supportant beaucoup d'architectures (il supporte même le brainfuck !), et permettant l'analyse statique et dynamique (i.e. le debugging) de programmes (je n'ai malheureusement pas encore expérimenté ce point). Devant l'étendue des possibilités de radare2, je rédige donc ce petit guide permettant de démarrer en douceur et d'apprivoiser ce logiciel qui semble assez austère au premier abord. Je présupposerai que vous avez donc une machine tourant sur GNU/Linux, avec la dernière version git de radare2 d'installée, afin de débuter notre randonnée. II - Analysons notre premier programme Pour lancer le désassamblage d'un programme, on le via la ligne de commande, avec "r2 monprogramme". Notre victime ici sera "/bin/ls" (ou /usr/bin/ls selon votre distribution), on tapera donc donc ceci: Code : $ r2 /bin/lsAprès un temps de chargement normalement court, vous devriez avoir dans votre terminal quelque chose comme ceci (avec des couleurs qui ne sont hélas pas affichées ici): Code : $ r2 /bin/lsOn se retrouve donc nez-à-nez avec un "motd" aléatoire, ainsi qu'à un prompt attendant une action de notre part. Pour les plus courageux, vous pouvez toujours taper "?" pour avoir l'aide en anglais (et si vous êtes encore plus courageux vous arrêtez la lecture de ce petit guide pour partir seul à l'aventure :>), et pour les autres, on va lancer l'analyse de notre binaire simplement avec la commande af, qui aura pour fonction de lancer une analyse (comme IDA) du code et de permettre à radare2 de repérer les fonctions, chaînes de caractères, addresses et autre. Puis on va ensuite afficher le listing assembleur de notre fonction, et pour cela, on utilise la commande pdf (pour "print disassembly function") Nous avons donc quelque chose comme ceci normalement (les habitués du RE reconnaîtront un binaire x86_64): Code : [0x004048bf]> afCe qui devrait donner comme résultat: Code : [0x004048bf]> pd 10 @section..textCode : [0x004048bf]> 0x004121d0Code : [0x004048bf]> s 0x004121d0Code : [0x004048bf]> s section..textComme je trouve le nom "section..text" peu explicite, je vous propose de renommer cette fonction. On a deux options: 
 Si vous avez lu l'aide, vous avez sûrement remarqué que les commandes étaient "classées" par catégories, pour laquelle était assignée une lettre. Ainsi "p" donne accès aux commandes de formattage/affichage (et taper "p?" vous donnera l'aide de ces commandes), tandis que "S" donne accès aux commandes permettant de manipuler les sections du binaire (s'il y en a), et "a" regroupe les fonctions d'analyse. Chaque lettre (appelée "mnémonique") permet ainsi de parcourir l'arborescence des commandes radare2. A titre d'exercice, je vous laisse trouver à quoi correspond la commande "pxe"  III - Le mode visuel / Mot de la fin Nous avons vu précédemment que l'on pouvait désassembler, et naviguer dans le code en tapant des commandes dans le prompt de radare2. Cependant, cela n'est pas forcément très pratique à utiliser, et peut rendre l'analyse relativement fastidieuse et désagréable; et ceux qui connaissent OllyDBG souhaiteraient sûrement pouvoir naviguer dans le code d'une manière similaire. Fort heureusement, radare2 propose un "visual mode", qui, toujours en ligne de commande, permet d'apporter une interface dont pourraient rêver les amateurs d'OllyDBG ! (et qui permet en plus de jouer à 2048, mais ce n'est pas le propos du guide :]). Pour entrer dans ce monde merveilleux, il suffit de taper "V" dans le prompt de radare2. Il est possible que vous aterrissiez alors sur un hexdump géant (ce qui est mon cas), dans ce cas n'hésitez pas à appuyer sur "p" jusqu'à ce que le listing revienne. Vous avez devant vos yeux ébahis le listing de la fonction "courante". De plus vous pouvez vous déplacer via les touches directionnelles, en scrollant à la souris, et octet par octet avec les touches "k" et "l". Pour entrer dans une fonction, il suffit de se positionner dessus puis d'appuyer sur "Entrée", et pour en sortir, taper "u". Pour aller à une addresse précise, pressez "o" et pour avoir l'aide, le traditionnel "?". A noter qu'on peut toujours saisir des commandes radare2, il suffit pour cela de la faire précéder d'un ":" (les connaisseurs de vi(m) reconnaîtront  ). Voilà donc pour ce petit guide de survie, qui sera peut-être mis à jour ultérieurement, sous licence Beerware (oui j'aime les licences à la con). En annexe, je fournis un petit récapitulatif des commandes utiles: Code : Mode normal:Si vous remarquez des fautes/imprécisions ou trucs pas clairs, n'hésitez pas à poser la question ! En espérant que ce guide vous sera utile   
Mon blog Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp"VIM est merveilleux" © supersnail | 
|  | |
| 
					14-08-2014, 19h30 
				 Message : #2 | |
| gruik   gouteur de savon  Messages : 757 Sujets : 44 Points: 483 Inscription : Oct 2012 | RE: Petit guide de survie pour radare2 
		ça poutre    
Avant donc que d'écrire, apprenez à penser. Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) | 
|  | |
| 
					15-08-2014, 18h46 
				 Message : #3 | |
| thxer   :(){ :|:& };:  Messages : 382 Sujets : 60 Points: 162 Inscription : Feb 2013 | RE: Petit guide de survie pour radare2 
		Cool !
		
			
		
	 | 
|  | |
| 
					23-03-2016, 10h23 
				 Message : #4 | |
| ZeR0-@bSoLu   Angel Of Byte  Messages : 43 Sujets : 2 Points: 4 Inscription : Feb 2016 | RE: Petit guide de survie pour radare2 
		Useful tool   Merci pour cette intoduction   | 
|  | |
| 
					« Sujet précédent | Sujet suivant »
				 | 
| Sujets apparemment similaires… | |||||
| Sujet | Auteur | Réponses | Affichages | Dernier message | |
| Guide à l'usage des débutants en RE | Horgh | 3 | 3,641 | 22-10-2012, 19h40 Dernier message: Dobry | |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

 Accueil du forum
 Accueil du forum Liste des membres
 Liste des membres Qui est en ligne ?
 Qui est en ligne ? Recherche
 Recherche Calendrier
 Calendrier Zine
 Zine URL de redirection
 URL de redirection Classement (Top 100)
 Classement (Top 100) Proposez un challenge!
 Proposez un challenge! Hacking
 Hacking Hacking
 Hacking  Spirit of hack
 Spirit of hack Messages: 32 822
 Messages: 32 822 Client IRC en ligne
 Client IRC en ligne 
				




