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
IDA-Ghidra-bridge — TCP-JSON-Bridge-Server für IDA Pro und Ghidra, die Dekompilierung, Xrefs, Symbole, Vtables, RTTI und Speicher-Patching für externe Skripte und automatisierte Pipelines bereitstellen. | Kitploit
Tools/GitHubGitHub/oscarsantanaarias/ida-ghidra-bridge
Statische AnalyseCode-AnalyseDynamische Code-Analyse (DAST)Reverse EngineeringScripting & AutomatisierungDebuggerDienstprogramme & FrameworksBinäranalyseKI-gestütztes Reverse Engineering
GitHuboscarsantanaarias/ida-ghidra-bridge

IDA-Ghidra-bridge

TCP-JSON-Bridge-Server für IDA Pro und Ghidra, die Dekompilierung, Xrefs, Symbole, Vtables, RTTI und Speicher-Patching für externe Skripte und automatisierte Pipelines bereitstellen.

Repository anzeigen
413vor 8 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

IDA-Ghidra-bridge

Leichtgewichtige TCP-JSON-Bridge-Server für IDA Pro und Ghidra, die Reverse-Engineering-Workflows über ein einfaches Socket-Protokoll bereitstellen.

Ermöglicht externen Tools, CLI-Skripten, Python-Utilities und automatisierten Pipelines, Dekompilierung, Xrefs, Symbole, virtuelle Tabellen, RTTI, Strukturen und Patch-Speicher abzufragen, ohne manuelle GUI-Interaktion.


Architektur & Lebenszyklus

1. Dynamische Port-Bindung & Multi-Instanz-Unterstützung

Bei der Arbeit an großen Reverse-Engineering-Projekten mit mehreren gleichzeitig geöffneten Binärdateien (z. B. Spiel-Client, Launcher, DLL-Proxys und Stubs gleichzeitig):

  • Die Server stürzen nicht ab, wenn ein Port bereits belegt ist.
  • Der Server beginnt mit der Suche bei BASE_PORT = 5073 und probiert automatisch sequenzielle Ports (5073, 5074, 5075, 5076...) durch, bis er einen verfügbaren findet.
  • Jedes IDA- oder Ghidra-Fenster bindet sich unabhängig an seinen eigenen Port, ohne Konflikte.

2. Hot-Reloading & saubere erneute Ausführung

In IDA Pro bleibt der Python-Interpreter über mehrere Skriptausführungen hinweg am Leben:

  • ID_Server.py registriert das laufende Server-Handle in builtins._ida_bridge_prev.
  • Wenn Sie das Skript in derselben IDA-Instanz erneut ausführen oder neu laden, ruft es automatisch stop() auf der vorherigen Instanz auf und joint deren Thread (join(3.0)), wodurch der Port sauber freigegeben wird, bevor der neue Server gestartet wird.
  • Sie erhalten niemals Address already in use oder verwaiste Threads durch erneutes Ausführen des Skripts.

3. Sauberes Herunterfahren

  • Über Socket: Senden Sie QUIT, STOP, EXIT oder SHUTDOWN über die Verbindung. Der Server bestätigt mit {"ok": true, "shutdown": true} und schließt sofort.
  • In IDA Pro: Rufen Sie ida_bridge_stop() direkt aus der IDA Python CLI auf, oder schließen Sie einfach IDA (Daemon-Threads beenden sich automatisch).
  • In Ghidra: Klicken Sie auf die rote Abbrechen-Schaltfläche im Ghidra Script Manager (is_cancelled() wird jede Sekunde über Socket-Timeout geprüft), oder senden Sie QUIT.

Installation & Einrichtung

IDA Pro

  1. Öffnen Sie Ihre Zieldatenbank (.idb / .i64) in IDA Pro.
  2. Führen Sie in der IDA Python CLI (oder über File -> Script file... / Alt+F7) aus:
    import ID_Server
    
  3. Der Server beginnt mit dem Lauschen auf 127.0.0.1:5073 (oder dem nächsten verfügbaren Port).
  4. Um den Server manuell zu stoppen:
    ida_bridge_stop()
    

Ghidra

  1. Öffnen Sie Ihr Zielprogramm im Ghidra CodeBrowser.
  2. Fügen Sie im Script Manager (Window -> Script Manager) den Ordner hinzu, der Ghidra_Server.py enthält, oder führen Sie es direkt im Python-Interpreter aus.
  3. Der Server bindet sich an 127.0.0.1:5073 (oder den nächsten freien Port).

Vollständige Befehlsreferenz (Alle 39 Befehle)

Befehle sind einfache, durch Zeilenumbrüche getrennte Strings, die über TCP (127.0.0.1:<PORT>) gesendet werden. Der Server antwortet mit einem JSON-Objekt (oder tabulatorgetrenntem Text für Legacy-Befehle).

1. Navigation & Inspektion

BefehlSyntaxBeschreibung
PINGPINGHealth-Check. Gibt "pong" zurück.
CURRENTCURRENTGibt die aktuelle Cursor-Adresse, den Funktionsnamen, die Größe, Assembly-Anweisungen und den dekompilierten Code zurück.
NAMENAME <ea>Gibt den an <ea> definierten Symbol-/Funktionsnamen zurück.
FUNCFUNC <addr>Gibt vollständige Funktionsmetadaten, Einstiegspunkt, Größe, Signatur, Assembly und Hex-Rays/Ghidra-Dekompilierung zurück.
DECOMPDECOMP <addr>Alias für FUNC. Dekompiliert die Zielfunktion.
DISASMDISASM <ea> [n]Gibt Disassembly-Zeilen für [n] Anweisungen ab <ea> zurück (Standard: 40).
FINDFIND <substr>Groß-/Kleinschreibungsunabhängige Suche über alle Symbole und Funktionsnamen, die <substr> entsprechen (bis zu 300 Treffer).
EXPORTEXPORT [path]Exportiert alle nicht-Dummy-Symbole, gemangelte und demangelte Namen in eine Textdatei (Standard: C:\Contexto\ida_names.txt).
HELPHELPGibt eine JSON-Liste aller vom Server unterstützten Befehle zurück.
QUITQUITSchließt die Client-Verbindung sauber und stoppt den Bridge-Server-Socket.

2. Querverweise & Aufrufgraph

BefehlSyntaxBeschreibung
XREFXREF <addr>Listet alle eingehenden Querverweise (Code-Aufrufe, Datenlese-/Schreibzugriffe) auf, die auf <addr> abzielen.
XFROMXFROM <addr>Listet alle ausgehenden Querverweise auf, die von <addr> ausgehen.
CALLERSCALLERS <addr>Filtert eingehende Referenzen, um nur Aufrufstellen zurückzugeben (einschließlich aufgelöster indirekter Aufrufe).
READERSREADERS <addr>Filtert eingehende Referenzen, um nur Anweisungen zurückzugeben, die von <addr> lesen.
WRITERSWRITERS <addr>Filtert eingehende Referenzen, um nur Anweisungen zurückzugeben, die auf <addr> schreiben.
DECOMP_XREFDECOMP_XREF <addr>Batch-dekompiliert jede aufrufende Funktion von <addr> in einer einzigen Anfrage.
IMPORTXREFIMPORTXREF <name>Findet alle Aufrufstellen im gesamten Binary für eine importierte Windows-/C-API (z. B. IMPORTXREF WSASendTo).
TRACETRACE <addr>Verfolgt den Ausführungsfluss und die Basisblöcke um <addr>.

3. Zeiger, Speicher & Strukturen

BefehlSyntaxBeschreibung
READPTRREADPTR <addr> [count]Liest Speicher als Zeigerketten (32-Bit oder 64-Bit) und klassifiziert jedes Ziel (func, string, vtable).
FINDPTRFINDPTR <addr>Durchsucht globale Daten und Tabellen, um jeden Zeiger zu finden, der auf <addr> verweist (findet vtables, Dispatch-Tabellen).
STRUCTSTRUCT <addr> [n]Gibt heuristisch zusammenhängenden Speicher aus und interpretiert Felder als Ints, Floats, Zeiger und Strings.
DEFSTRUCTDEFSTRUCT <name> [size]Erstellt eine neue benannte Struktur in der Datenbank-Typbibliothek.
SETFIELDSETFIELD <struct> <off> <type> [name]Definiert oder ändert ein Strukturfeld bei <off> mit <type> und optionalem Feldnamen.
MKPTRSMKPTRS <addr> [count]Konvertiert rohe Datenbankbytes in großen Mengen in typisierte Zeiger.
NEARSTRNEARSTR <addr>Findet String-Referenzen in der Nähe in Code- oder Datensegmenten innerhalb des Bereichs.

4. Virtuelle Tabellen & RTTI

BefehlSyntaxBeschreibung
VTABLEVTABLE <funcaddr>Identifiziert, welche virtuellen Tabellen <funcaddr> enthalten, einschließlich benachbarter Methoden-Slots.
VTDUMPVTDUMP <addr> [count]Gibt eine gesamte virtuelle Tabelle aus: löst jeden Slot zu seinem Methodennamen, Offset und Index auf.
RTTIRTTI <addr|Name>Durchläuft MSVC C++ RTTI-Strukturen (TypeDescriptor -> CompleteObjectLocator -> vftable), um Klassenhierarchien und Basisklassen aufzulösen.

5. String- & Byte-Scanning

BefehlSyntaxBeschreibung
STRSTR <ascii>Sucht nach ASCII-Strings über alle geladenen Segmente.
WSTRWSTR <utf16>Sucht nach UTF-16-Wide-Strings über alle geladenen Segmente.
BYTESBYTES <hex>Sucht nach rohen Opcode- oder Datenbyte-Sequenzen (z. B. BYTES 55 8B EC 83 EC).

6. Datenbankmodifikation & Typisierung

Tool herunterladen