GHIDRA
Def :
Ghidra est un décompiler qui tente de prendre le langage machine pour le remettre sous sa forme lisible.
Setup :
Sur kali il suffit de run :
sudo apt install ghidra
dans le cas où ça ne fonctionne pas on met les erreurs dans chatGPT et ça va fonctionner.
Utilisation :
Analyse de code :
Généralement sous Kali on fait :
ghidra
On lance ensuite le soft, on créé un nouveau projet et on importe notre fichier :
Le fichier est bien ajouté :
Ensuite double click sur le fichier et on est bons,
pour analyser le fichier il suffit de double click dessus, il est aussi très recommandé d'activer le decompiler parameter ID.
Analyse de code :
La fenêtre la plus importante est la decompile, elle affiche le code C en fonction de la fonction qui est sélectionnée :
Cela permet aussi de voir les imports et exports.
Il est aussi possible d'ajouter d'autres fenêtres, notamment la bytes qui est un hexdump :
Un exemple d'utilisation de Ghidra pour faire du reverse : Exercices basiques#Avec Ghidra.
Il est aussi possible d'ouvrir la function call window qui permet de voir comment les fonctions sont appellées.
Patching :
Sous ghidra il est aussi possible de patcher des executables, c'est à dire modifier des instructions pour en afficher d'autres. Cela peut par exemple permettre d'afficher un résultat pour la suite.
Pour patcher une instruction :
On sélection d'abord la ligne et puis ctrl+shift+G
.
Une fois le programme patché on fait File -> Export Program
ou bien on appuie sur O
et on exporte avec la même extension que le fichier original.
Il est particulièrement utile de patcher les conditions pour permettre d'obtenir les flags facilement.