Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BinDiffHelper — Extension Ghidra pour intégrer BinDiff pour la correspondance de fonctions | Kitploit
Outils/GitHubGitHub/ubfx/bindiffhelper
Analyse StatiqueAnalyse de CodeRétro-ingénierieAnalyse de MalwareUtilitaires et FrameworksAnalyse de BinairesExploitation de Binaires
GitHububfx/bindiffhelper

BinDiffHelper

Extension Ghidra pour intégrer BinDiff pour la correspondance de fonctions

Voir le dépôt
29623il y a 22 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

BinDiffHelper

Extension Ghidra qui utilise BinDiff sur votre projet Ghidra pour trouver les fonctions correspondantes et les renommer automatiquement (BinDiff 6, 7, 8 pris en charge). Consultez le manuel BinDiff pour voir comment cela fonctionne et comment il met en correspondance les fonctions / blocs de base. Cependant, avec cette extension, BinDiff est automatisé depuis Ghidra, vous n'avez donc pas à différencier vos binaires vous-même.

Veuillez signaler les bugs via la fonctionnalité issue sur github

Changelog

v0.7.1

  • Mise à jour pour Ghidra 12

v0.7.0 (versions de Ghidra >= 11.4)

  • Aucun changement hormis la compatibilité avec la version de Ghidra

v0.6.4 (versions de Ghidra < 11.4)

  • Prise en charge de l'export de namespace
  • Correction d'un blocage indéfini lors du diffing

v0.6.3

  • Autoriser le tri du tableau

v0.6.2

  • Correction d'un bug où le diffing se bloquait indéfiniment avec BinDiff 8
  • Lors d'un double-clic sur un symbole, le suivre à la fois dans les listings de code primaire et secondaire

v0.6

  • Mise à jour de la bibliothèque du pilote sqlite, devrait désormais fonctionner sur Apple silicon
  • Prise en charge des diffs textuels externes entre fonctions décompilées (voir https://github.com/ubfx/BinDiffHelper/pull/24)
  • Mises à jour de l'interface

v0.5

  • Prise en charge de BinDiff 8
  • Version pour Ghidra 11.1
Changements plus anciens ### v0.4.3 * Version pour Ghidra 11.0

v0.4.2

  • Ajout d'une fonction pour importer toutes les fonctions (pas seulement celles cochées dans le tableau)
  • Ajout d'une fonction pour basculer la case à cocher pour plusieurs éléments du tableau
  • Mise à jour pour prendre en charge Ghidra 10.3

v0.4.1

  • Mise à jour pour prendre en charge Gradle 7.5 et Ghidra 10.1

v0.4.0

  • Prise en charge de BinDiff 7 et Ghidra 10

v0.3.2

  • Correction d'un bug où le diffing avec un fichier différent du même projet ne fonctionnait pas
  • Correction d'un bug où les fichiers avec des noms courts (< 3 caractères>) ne pouvaient pas être différenciés

v0.3.1

  • Correction d'un crash lors de l'ouverture d'un fichier via l'option "from project"

v0.3

  • Coloration des fonctions correspondantes dans le listing
  • Ajout de commentaires aux fonctions correspondantes dans le listing renvoyant vers l'autre binaire
  • Correction d'un bug où la bibliothèque protobuf était manquante dans certaines builds
  • Nouveau menu de chargement de fichier

v0.2

  • Correction d'un bug où le fichier vers lequel importer devait être extrait (checked out).
  • Augmentation de la taille de la boîte de dialogue de sélection de fichier de projet

v0.1

  • Diff BinDiff du binaire ouvert dans Ghidra avec un autre binaire du même projet Ghidra, affichage des résultats et import des noms de fonctions
  • Ouvrir un fichier BinDiff, créé avec BinDiff 6, à partir de deux fichiers .BinExport et importer les noms de fonctions correspondants dans Ghidra

Comment installer

Téléchargez soit le fichier .zip depuis la release, s'il est compatible avec votre version de Ghidra, sinon voir Comment compiler ci-dessous.

  1. Ouvrez Ghidra
  2. Dans la Main Window : Allez dans File->Install Extensions...
  3. Cliquez sur le bouton + en haut à droite et sélectionnez le fichier zip BinDiffHelper
  4. Fermez le gestionnaire de plugins. Redémarrez Ghidra pour charger le nouveau plugin
  5. Voir Utilisation ci-dessous

Autres outils recommandés

  • Plugin BinExport binaires ou compilé depuis les sources pour votre version spécifique de Ghidra
  • BinDiff (https://zynamics.com/software.html)

Sans ceux-ci, vous ne pourrez qu'importer des fichiers .BinDiff et non exporter et différencier automatiquement depuis votre projet Ghidra

Utilisation

Assurez-vous que le plugin est chargé dans le Code Explorer en ouvrant un fichier dans Ghidra et dans le Code Explorer, allez dans File->Configure

Cliquez sur la petite icône de prise en haut à droite :

Configure tool

et assurez-vous que la case à cocher à côté de BinDiffHelperPlugin est cochée.

Configure plugins

Importer un .BinDiff externe

Les fichiers .BinExport correspondants doivent se trouver dans le même dossier.

Ouvrez le fichier dans lequel vous souhaitez importer les noms dans le code Browser, puis allez dans Window->BinDiffHelper Open BinDiffHelper

Utilisez le bouton Open from BinDiff ou l'élément de menu et sélectionnez votre fichier .BinDiff.

Example import

Sélectionnez tous les noms de fonctions que vous souhaitez importer et cliquez sur le bouton Import function names en haut à droite ou sur l'élément de menu.

Comparer entre fichiers du projet Ghidra

Allez dans Window->BinDiffHelper, assurez-vous qu'il n'y a aucun avertissement concernant BinExport ou BinDiff, puis cliquez sur le bouton Open from project.

Sélectionnez l'autre fichier dans l'arborescence et cliquez sur OK.

Example project import

Comment compiler

Prérequis :

  • Installation de Ghidra (https://ghidra-sre.org) ou compilée depuis les sources
  • Un jdk. Il peut y avoir certaines restrictions selon la façon dont votre Ghidra a été compilé et quels autres plugins vous utilisez. Je recommande d'utiliser Temurin 21 LTS, car cela semble actuellement fonctionner à la fois avec BinExport et BinDiffHelper.
  • gradle (testé avec 7.5, 8.10)

Cloner le dépôt

Clonez le dépôt de manière récursive, car il dépend de BinExport pour la définition de protocol buffer correspondante.

git clone --recurse-submodules https://github.com/ubfx/BinDiffHelper.git

Le compiler

Vous devez définir la variable d'environnement GHIDRA_INSTALL_DIR sur le répertoire d'installation de Ghidra. Si vous avez différents JDK installés, assurez-vous que la variable d'environnement JAVA_HOME pointe vers celui utilisé par votre installation de Ghidra.

L'extension sera compilée spécifiquement pour cette version de Ghidra.

Puis rendez-vous dans le dossier BinDiffHelper dans votre shell et exécutez

gradle

Cela compilera à la fois BinExport dans le sous-module correspondant et BinDiffHelper dans le répertoire parent. Un fichier .zip devrait avoir été créé dans le répertoire dist. Utilisez ce fichier .zip pour installer selon les instructions ci-dessus.

Configuration de développement / débogage

Il est parfois utile de pouvoir déboguer l'extension avec Ghidra, voici quelques notes à ce sujet :

Télécharger l’outil