0Pricing
Cyber Security Academy · Leçon

Ghidra : parcourir et annoter des binaires

Importez un binaire, parcourez le code désassemblé et décompilé, renommez les variables et ajoutez des commentaires.

Ghidra : parcourir et annoter des binaires est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.

Qu’est-ce que Ghidra ?

Ghidra est un outil gratuit et à code source ouvert de rétro-ingénierie, développé par la NSA et rendu public en 2019. Il prend en charge le désassemblage, la décompilation, la création de scripts et l’analyse collaborative sous Linux, macOS et Windows.

Chargement d'un binaire

Ouverture d'un binaire dans Ghidra :

  1. Créez un nouveau projet
  2. Importez le fichier (Fichier → Importer un fichier)
  3. L'analyse automatique s'exécute — laissez-la se terminer (elle reconnaît les fonctions, les chaînes et les types de données)
  4. CodeBrowser s'ouvre et affiche les vues du désassemblage et du décompilateur

L'interface de Ghidra

Principales fenêtres de Ghidra :

  • Arborescences des programmes — sections (.text, .data, .plt)
  • Arborescence des symboles — fonctions, étiquettes, importations et exportations
  • Liste — vue du désassemblage
  • Décompilateur — reconstruction en pseudo-C
  • Fonctions — liste de toutes les fonctions identifiées

Accéder au point d'entrée

Commencez l'analyse au point d'entrée du programme ou dans main() :

  • Appuyez sur G pour « Aller à » une adresse ou un symbole
  • Recherchez « main » dans l'arborescence des symboles
  • Double-cliquez sur une fonction pour y accéder

Lire la sortie du décompilateur

Le décompilateur de Ghidra produit du pseudo-C, plus facile à lire que l'assembleur. Le résultat ne sera pas parfait — les noms de variables sont génériques (param_1, local_10), le flux de contrôle peut sembler étrange — mais il révèle suffisamment clairement la logique pour comprendre ce que fait le code.

Renommer les variables et les fonctions

L'annotation améliore la lisibilité :

  • Cliquez avec le bouton droit sur une variable → Renommer (ou appuyez sur L)
  • Cliquez avec le bouton droit sur une fonction → Renommer la fonction
  • Ajoutez des commentaires avec ; (fin de ligne) ou au format /*...*/

Le renommage enrichit le contexte à mesure que vous comprenez mieux le binaire.

Identifier les chaînes

Les chaînes sont très utiles pour comprendre la fonction d'un programme :

  • Fenêtre → Chaînes définies affiche toutes les constantes de type chaîne
  • Cliquez sur une chaîne pour accéder à son utilisation dans le code
  • Les messages d'erreur, les chemins de fichiers, les URL et les clés de registre révèlent les fonctionnalités

Références croisées (XREF)

XREF indique où une fonction ou une variable est appelée ou utilisée. Appuyez sur X sur un symbole pour afficher toutes ses références. C'est essentiel pour trouver où les données saisies par l'utilisateur entrent dans une fonction ou où les contrôles de sécurité sont effectués.

Écrire des scripts avec Ghidra

Ghidra fournit une API de scripts Python/Java :

# Python script to find all calls to strcpy:
from ghidra.program.model.symbol import RefType
for ref in currentProgram.getReferenceManager().getReferencesTo(toAddr(0x401234)):
    print(ref.getFromAddress())

Analyser les logiciels malveillants avec Ghidra

Pour analyser les logiciels malveillants :

  • Identifiez les techniques anti-analyse (anti-débogage, obfuscation du code)
  • Trouvez les fonctions de communication réseau (socket, connect, WinInet)
  • Localisez les fonctions cryptographiques (recherchez les constantes de la S-box AES : 0x63, 0x7c...)
  • Extrayez les URL C2 des chaînes déchiffrées

Ghidra ou IDA Pro

Ghidra ou IDA Pro :

  • Ghidra : gratuit, à code source ouvert, programmable par scripts, avec un bon décompilateur
  • IDA Pro : standard du secteur, analyse plus rapide, meilleur écosystème de modules d'extension, coûteux ($$$)
  • Pour la plupart des tâches, Ghidra est tout à fait suffisant ; utilisez IDA dans les laboratoires professionnels d'analyse des logiciels malveillants

Vérification rapide : Ghidra

Quelle fonctionnalité de Ghidra affiche tous les emplacements du binaire qui appellent ou référencent une fonction ou une variable précise ?

Récapitulatif de la leçon

Ghidra est un outil gratuit de rétro-ingénierie développé par la NSA, qui propose le désassemblage, la décompilation et l'écriture de scripts. Flux de travail essentiels : charger le binaire, exécuter l'analyse automatique, accéder à main(), utiliser le décompilateur pour comprendre la logique, renommer les variables, utiliser les XREF pour suivre le flux des données et rechercher des chaînes pour obtenir du contexte. L'annotation permet de construire progressivement sa compréhension. L'écriture de scripts automatise les tâches d'analyse répétitives.

Questions Fréquemment Posées

La leçon « Ghidra : parcourir et annoter des binaires » est-elle gratuite ?

Oui — le texte complet de « Ghidra : parcourir et annoter des binaires » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Ghidra : parcourir et annoter des binaires » ?

Importez un binaire, parcourez le code désassemblé et décompilé, renommez les variables et ajoutez des commentaires. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?

Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Ghidra : parcourir et annoter des binaires » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?

Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Ghidra : parcourir et annoter des binaires
  2. Notions essentielles d’assembleur x86/x64 pour la rétro-ingénierie
  3. Analyse dynamique avec GDB et pwndbg
  4. Désobfuscation et techniques anti-analyse
← Retour à Cyber Security Academy