Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
BinDiffHelper — Ghidra-Erweiterung zur Integration von BinDiff für den Funktionsabgleich | Kitploit
Tools/GitHubGitHub/ubfx/bindiffhelper
Statische AnalyseCode-AnalyseReverse EngineeringMalware-AnalyseDienstprogramme & FrameworksBinäranalyseBinary-Exploitation
GitHububfx/bindiffhelper

BinDiffHelper

Ghidra-Erweiterung zur Integration von BinDiff für den Funktionsabgleich

Repository anzeigen
29623vor 22 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BinDiffHelper

Ghidra-Erweiterung, die BinDiff auf Ihr Ghidra-Projekt anwendet, um übereinstimmende Funktionen zu finden und sie automatisch umzubenennen (BinDiff 6, 7, 8 unterstützt). Lesen Sie das BinDiff-Handbuch, um zu erfahren, wie es funktioniert und wie es Funktionen / Basisblöcke abgleicht. Mit dieser Erweiterung wird BinDiff jedoch automatisch aus Ghidra heraus ausgeführt, sodass Sie Ihre Binärdateien nicht selbst diffen müssen.

Bitte melden Sie Fehler über die Issue-Funktion auf GitHub

Changelog

v0.7.1

  • Aktualisierung für Ghidra 12

v0.7.0 (Ghidra-Versionen >= 11.4)

  • Keine Änderungen außer der Ghidra-Versionskompatibilität

v0.6.4 (Ghidra-Versionen < 11.4)

  • Unterstützung für den Export von Namespaces
  • Behebung eines endlosen Hängens beim Diffing

v0.6.3

  • Tabellensortierung ermöglicht

v0.6.2

  • Behebung eines Fehlers, bei dem das Diffing mit BinDiff 8 endlos hängt
  • Beim Doppelklick auf ein Symbol wird es sowohl in der primären als auch in der sekundären Codeauflistung verfolgt

v0.6

  • Aktualisierung der SQLite-Treiberbibliothek, sollte nun auf Apple Silicon laufen
  • Unterstützung externer textueller Diffs zwischen dekompilierten Funktionen (siehe https://github.com/ubfx/BinDiffHelper/pull/24)
  • UI-Aktualisierungen

v0.5

  • Unterstützung für BinDiff 8
  • Release für Ghidra 11.1
Ältere Änderungen ### v0.4.3 * Release für Ghidra 11.0

v0.4.2

  • Funktion zum Importieren aller Funktionen hinzugefügt (nicht nur der in der Tabelle markierten)
  • Funktion zum Umschalten der Checkbox für mehrere Elemente in der Tabelle hinzugefügt
  • Aktualisierung zur Unterstützung von Ghidra 10.3

v0.4.1

  • Aktualisierung zur Unterstützung von Gradle 7.5 und Ghidra 10.1

v0.4.0

  • Unterstützung für BinDiff 7 und Ghidra 10

v0.3.2

  • Behebung eines Fehlers, bei dem das Diffing mit einer anderen Datei aus demselben Projekt nicht funktionierte
  • Behebung eines Fehlers, bei dem Dateien mit kurzen Namen (< 3 Zeichen>) nicht gediffed werden konnten

v0.3.1

  • Behebung eines Absturzes beim Öffnen einer Datei über die Option "from project"

v0.3

  • Einfärbung übereinstimmender Funktionen in der Auflistung
  • Hinzufügen von Kommentaren zu übereinstimmenden Funktionen in der Auflistung mit Verweis auf die andere Binärdatei
  • Behebung eines Fehlers, bei dem die Protobuf-Bibliothek in einigen Builds fehlte
  • Neues Dateilade-Menü

v0.2

  • Behebung eines Fehlers, bei dem die zu importierende Datei ausgecheckt werden musste.
  • Vergrößerung des Dialogfensters zur Auswahl von Projektdateien

v0.1

  • BinDiff der in Ghidra geöffneten Binärdatei mit einer anderen Binärdatei aus demselben Ghidra-Projekt, Anzeige der Ergebnisse und Import der Funktionsnamen
  • Öffnen einer mit BinDiff 6 erstellten BinDiff-Datei aus zwei .BinExport-Dateien und Import der übereinstimmenden Funktionsnamen in Ghidra

Installation

Laden Sie entweder die .zip-Datei aus dem Release herunter, sofern sie mit Ihrer Ghidra-Version kompatibel ist, andernfalls siehe How to build unten.

  1. Öffnen Sie Ghidra
  2. Im Hauptfenster: Gehen Sie zu File->Install Extensions...
  3. Klicken Sie auf die +-Schaltfläche oben rechts und wählen Sie die BinDiffHelper-Zip-Datei aus
  4. Schließen Sie den Plugin-Manager. Starten Sie Ghidra neu, um das neue Plugin zu laden
  5. Siehe Usage unten

Empfohlene weitere Tools

  • BinExport-Plugin Binärdateien oder aus dem Quellcode für Ihre spezifische Ghidra-Version kompiliert
  • BinDiff (https://zynamics.com/software.html)

Ohne diese können Sie nur .BinDiff-Dateien importieren und nicht automatisch aus Ihrem Ghidra-Projekt exportieren und diffen

Verwendung

Stellen Sie sicher, dass das Plugin im Code Explorer geladen ist, indem Sie eine Datei in Ghidra öffnen und im Code Explorer zu File->Configure gehen

Klicken Sie auf das kleine Stecker-Symbol oben rechts:

Configure tool

und stellen Sie sicher, dass das Kontrollkästchen neben BinDiffHelperPlugin aktiviert ist.

Configure plugins

Externe .BinDiff importieren

Die entsprechenden .BinExport-Dateien müssen sich im selben Ordner befinden.

Öffnen Sie die Datei, in die Sie Namen importieren möchten, im Code Browser und gehen Sie dann zu Window->BinDiffHelper Open BinDiffHelper

Verwenden Sie die Schaltfläche Open from BinDiff oder den Menüeintrag und wählen Sie Ihre .BinDiff-Datei aus.

Example import

Wählen Sie alle Funktionsnamen aus, die Sie importieren möchten, und klicken Sie auf die Schaltfläche Import function names oben rechts oder den Menüeintrag.

Vergleich zwischen Dateien im Ghidra-Projekt

Gehen Sie zu Window->BinDiffHelper, stellen Sie sicher, dass keine Warnungen bezüglich BinExport oder BinDiff vorliegen, und klicken Sie dann auf die Schaltfläche Open from project.

Wählen Sie die andere Datei aus dem Baum aus und klicken Sie auf OK.

Example project import

How to build

Voraussetzungen:

  • Ghidra-Installation (https://ghidra-sre.org) oder aus dem Quellcode kompiliert
  • Ein JDK. Es kann bestimmte Einschränkungen geben, je nachdem, wie Ihr Ghidra erstellt wurde und welche anderen Plugins Sie verwenden. Ich empfehle Temurin 21 LTS, da dies derzeit sowohl mit BinExport als auch mit BinDiffHelper zu funktionieren scheint.
  • gradle (getestet mit 7.5, 8.10)

Repository klonen

Klonen Sie das Repository rekursiv, da es für die jeweilige Protocol-Buffer-Definition von BinExport abhängt.

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

Build

Sie müssen die Umgebungsvariable GHIDRA_INSTALL_DIR auf das Ghidra-Installationsverzeichnis setzen. Wenn Sie verschiedene JDKs installiert haben, stellen Sie sicher, dass die Umgebungsvariable JAVA_HOME auf dasjenige zeigt, das Ihre Ghidra-Installation verwendet.

Die Erweiterung wird speziell für diese Ghidra-Version erstellt.

Gehen Sie dann in Ihrer Shell zum BinDiffHelper-Ordner und führen Sie aus

gradle

Dies erstellt sowohl BinExport im jeweiligen Submodul als auch BinDiffHelper im übergeordneten Verzeichnis. Im dist-Verzeichnis sollte eine .zip-Datei erstellt worden sein. Verwenden Sie diese .zip-Datei zur Installation gemäß den obigen Anweisungen.

Entwicklung / Debugging-Setup

Manchmal ist es nützlich, die Erweiterung zusammen mit Ghidra debuggen zu können. Hier sind einige Hinweise dazu:

Tool herunterladen