Une collection d'utilitaires liés à PWN / CTF pour Ghidra
Cet utilitaire tentera de remplacer les constantes connues dans les fonctions par leur homologue lisible par humain.

Cet utilitaire tentera de trouver et d'identifier les appels (et les arguments).
Annotation dans la vue du décompilateur 
Les arguments sont annotés dans la vue du démontrant 
Le flux de travail correct pour convertir les données affichées dans un opérande consiste à cliquer avec le bouton droit sur la valeur et à sélectionner le type de conversion sous le sous-menu Convert , cependant, sur demande, j'ai fait un script pour convertir le type d'opérande d'affichage en char afin qu'il puisse être utilisé avec un raccourci clavier pour plus de commodité (style IDA).
Pour l'utiliser, sélectionnez l'option In Tool du script UtilitiesConvertCharacter.py , puis sélectionnez un opérande numérique et appuyez sur shift+r pour convertir en chaîne. Vous pouvez modifier le raccourci en modifiant la ligne qui contient le commentaire avec keybinding en haut du script.
Une différence ennuyeuse entre Ghidra et Ida est que Ghidra ne tente pas de sauter sur main() (ou le point d'entrée) lorsque vous chargez un binaire. Le script UtilitiesGotoMain.py vise à corriger cela. Exécutez-le directement ou s'il est intégré à In Tool , appuyez sur ctrl + m et il tentera de trouver dynamiquement main() et de déplacer la mise au point vers cette fonction.
S'il n'y a pas de fonction main() détectée, elle passera à la fonction d'entrée. Si vous exécutez un binaire dépouillé, il renommera la fonction main pour vous.
Clone le référentiel ou télécharger et extraire quelque part. Dans Ghidrera, ouvrez le Script Manager ( Window -> Script Manager ) Cliquez sur le bouton Script Directory et ajoutez pwndra/scripts à la liste.
Une fois le répertoire de script ajouté à Ghidra, vous pouvez trouver les scripts dans la catégorie Pwn . Vous pouvez exécuter les scripts directement à partir du Script Manager si vous le souhaitez, mais les scripts ont également des menus et des raccourcis clavier pour faciliter l'utilisation. Afin d'activer les menus et les raccourcis, vous devez cliquer sur la case à cocher In Tool à côté des scripts que vous souhaitez intégrer dans l'outil.
Si vous avez cliqué In Tool les menus seront en Analysis -> Pwn et tous les raccourcis pour les scripts sont répertoriés dans l'élément de menu qui utilise ce raccourci.
Il y a plusieurs frondendes disponibles:
Vous pouvez soit exécuter directement l'un de ces scripts Frontend (via le Script Manager ou si vous avez cliqué In Tool vous pouvez accéder à un menu; Analysis -> Pwn -> Tool Name ).
Il y a un frontend Auto qui détectera automatiquement le programme chargé actuel pour vous. Cela peut également être accessible avec le raccourci clavier qui est spécifié dans l'élément de menu pour l'outil.
Les scripts ont deux modes de fonctionnement, la valeur par défaut est de fonctionner à l'échelle mondiale, la seconde consiste à fonctionner uniquement sur une sélection donnée. Ceci est utile pour les moments où vous avez deux modes binaires entrelacés dans le même code, comme i386 / amd64 ou thumb / arm .