Dois-je avoir IDA Pro pour utiliser loutil BinDiff?

Jessaie dapprendre à utiliser loutil BinDiff , mais je peux  » t comprendre comment ouvrir deux binaires pour faire la comparaison. En parcourant leur manuel, il semble que jai besoin dIDA Pro pour cela.

Puis-je utiliser BinDiff sans IDA Pro (disons, avec juste IDA gratuit)?

Commentaires

Réponse

Oui, cest désormais possible avec Ghidra.

La dernière version, BinDiff 6 , a un support expérimental pour le désassembleur Ghidra. Il est livré avec une extension qui permet dexporter le désassemblage de Ghidra au format .BinExport nécessaire pour les différences.

Logiciel requis

Installation de lextension Ghidra

Après avoir installé BinDiff, localisez le « BinExport » dans votre dossier dinstallation.

Les valeurs par défaut sont

  • Windows: C:\Program Files\BinDiff\extra\ghidra
  • Linux: /opt/bindiff/extra/ghidra
  • macOS: /Applications/BinDiff/Extra/Ghidra

Si vous avez localisé le ghidra_BinExport.zip, lextension peut être installée comme nimporte quelle autre extension Ghidra:

  1. Démarrez Ghidra, puis sélectionnez File | Install Extensions....
  2. Cliquez sur le bouton + pour Add extension.
  3. Dans le Select Extension, accédez au répertoire contenant ghidra_BinExport.zip.

  4. Sélectionnez le .zip et cliquez sur OK

  5. Cliquez sur OK pour confirmer et à nouveau pour ignorer le message de redémarrage. Redémarrez ensuite Ghidra.

Utilisation

Cette version de lexportateur Java pour Ghidra présente les fonctionnalités suivantes par rapport à la version C ++ native pour IDA Pro:

| | Ghidra | IDA | | --------------------------------------- | ------ | --- | | Protocol Buffer based full export | ✓¹ | ✓ | | Statistics text file | - | ✓ | | Text format for debugging | - | ✓ | | BinNavi export into PostgreSQL database | - | ✓ | ¹ No operand trees 

Vérification de la version dinstallation

  1. Dans Ghidra, sélectionnez File | Install Extensions....
  2. Vérifiez que BinExport est répertorié et a le bon Install Path

Invocation

  1. Dans Ghidra, ouvrez un projet ou créez-en un nouveau.
  2. Si ce nest déjà fait, ouvrez le binaire à exporter dans l’outil Navigateur de code et exécutez l’analyse initiale de Ghidra. Vous pouvez activer l’option « Recherche d’instructions agressives » pour obtenir une meilleure couverture lors de l’exportation.
  3. Dans la vue du projet, cliquez avec le bouton droit sur le binaire pour exporter et sélectionner Export...
  4. Dans la liste déroulante, sélectionnez Binary BinExport (v2) for BinDiff
  5. Sélectionnez un chemin daccès au fichier de sortie. Il peut sagir du nom de fichier dorigine, comme .BinExport sera ajouté.
  6. Cliquez sur OK.

BinDiff Fichiers exportés

Les fichiers exportés peuvent maintenant être modifiés et les résultats affichés dans son interface utilisateur:

  1. Exportez deux binaires en suivant les instructions ci-dessus. Les étapes suivantes supposent primary.BinExport et secondary.BinExport.
  2. À partir de la ligne de commande, exécutez le moteur BinDiff avec

    bindiff primary.BinExport secondary.BinExport 

    Cela créera un fichier primary_vs_secondary.BinDiff dans le répertoire courant. La commande bindiff doit être dans votre chemin daccès système.

  3. Lancez linterface utilisateur BinDiff, soit via bindiff --ui ou en utilisant le lanceur de votre système dexploitation.

  4. Créez un nouvel espace de travail ou ouvrez-en un existant.

  5. Sélectionnez Diffs | Add Existing Diff....

  6. Sous Choose Diff, sélectionnez le primary_vs_secondary.BinDiff créé à létape 2.

  7. Cliquez sur OK, suivi de Add. Le diff est maintenant affiché dans larborescence à gauche et peut être ouvert en double-cliquant dessus.

  8. Utilisez BinDiff normalement pour afficher le graphe dappel ou les graphes de flux des fonctions correspondantes .

Open Source

Enfin, lextension BinExport (ainsi que le plugin IDA Pro) est open source et disponible sur GitHub . La balise v11 correspond à BinDiff 6.

Commentaires

  • Merci. Je ' serais si heureux de me débarrasser de la dépendance à IDA Pro!

Réponse

Bindiff peut être un plugin dans IDA ou autonome, mais vous avez toujours besoin de la base de données IDA pour comparer les binaires.

entrez la description de limage ici

Commentaires

  • Je doute quil puisse ouvrir un .idb sans IDA installé
  • @ismael_akez: puis-je générer un fichier de base de données sans IDA?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *