Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
HexRaysCodeXplorer — Hex-Rays Decompiler Plugin für bessere Code-Navigation | Kitploit
Tools/GitHubGitHub/rehints/hexrayscodexplorer
Statische AnalyseReverse EngineeringDebuggerMalware-AnalyseBinäranalyse
GitHubrehints/hexrayscodexplorer

HexRaysCodeXplorer

Hex-Rays Decompiler Plugin für bessere Code-Navigation

Repository anzeigen
2.6k413vor 8 MonatenVon 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

| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | / / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __ | _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '| | | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |
/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|
/ |_|

Lizenz: GPL v3 Code Climate Issue-Anzahl

Das Hex-Rays Decompiler-Plugin für eine bessere Codenavigation im RE-Prozess. CodeXplorer automatisiert die Code-Rekonstruktion von C++-Anwendungen oder moderner Malware wie Stuxnet, Flame, Equation, Animal Farm ... :octocat:

Das CodeXplorer-Plugin ist eines der ersten öffentlich verfügbaren Hex-Rays Decompiler-Plugins. Wir halten dieses Projekt seit Sommer 2013 aktuell und fügen regelmäßig neue Funktionen hinzu. Die interessantesten Funktionen von CodeXplorer wurden auf zahlreichen Sicherheitskonferenzen wie REcon, ZeroNights, H2HC, NSEC und BHUS vorgestellt 👾

Mitwirkende:

Alex Matrosov (@matrosov)

Eugene Rodionov (@rodionov)

Rodrigo Branco (@rrbranco)

Gabriel Barbosa (@gabrielnb)

Unterstützte Versionen der Hex-Rays-Produkte: Wir konzentrieren uns stets auf die neuesten Versionen von IDA und dem Decompiler, da wir versuchen, neue interessante Funktionen in neuen SDK-Versionen zu nutzen. Das bedeutet auch, dass wir nur mit den neuesten Versionen der Hex-Rays-Produkte getestet haben und keinen stabilen Betrieb mit älteren Versionen garantieren können.

Warum nicht IdaPython: Der gesamte Code wurde in C/C++ entwickelt, da dies der stabilere Weg ist, ein komplexes Plugin für den Hex-Rays Decompiler zu unterstützen.

Unterstützte Plattformen: x86/x64 für Win, Linux und Mac.

HexRaysCodeXplorer – Hex-Rays Decompiler-Plugin für eine einfachere Codenavigation. Das Rechtsklick-Kontextmenü im Pseudocode-Fenster zeigt die Befehle des CodeXplorer-Plugins:

1

💎 Hier sind die Hauptfunktionen des CodeXplorer-Plugins: 💎

  • Automatische Typ-Rekonstruktion für C++-Objekte. Um einen Typ mit HexRaysCodeXplorer rekonstruieren zu können, muss die Variable ausgewählt werden, die einen Zeiger auf eine positionsunabhängige Code-Instanz oder auf ein Objekt enthält, und per Rechtsklick im Kontextmenü die Option «REconstruct Type» ausgewählt werden:

2

Die rekonstruierte Struktur wird im „Ausgabefenster“ angezeigt. Detaillierte Informationen zur Typ-Rekonstruktion finden Sie im Blogbeitrag „Type REconstruction in HexRaysCodeXplorer“.

Das CodeXplorer-Plugin unterstützt auch die automatische Rekonstruktion von Typen in den IDA-Lokaltypenspeicher.

6

  • Identifikation virtueller Funktionstabellen – identifiziert automatisch Referenzen auf virtuelle Funktionstabellen während der Typrekonstruktion. Wenn eine Referenz auf eine virtuelle Funktionstabelle identifiziert wird, generiert das Plugin eine entsprechende C-Struktur. Wie unten gezeigt, wurden bei der Rekonstruktion von struct_local_data_storage zwei virtuelle Funktionstabellen identifiziert, und folglich wurden zwei entsprechende Strukturen generiert: struct_local_data_storage_VTABLE_0 und struct_local_data_storage_VTABLE_4.

12

  • C-Tree-Graph-Visualisierung – eine spezielle baumartige Struktur, die eine dekompilierte Routine in citem_t-Begriffen (hexrays.hpp) darstellt. Nützliche Funktion zum Verständnis der Arbeitsweise des Decompilers. Der hervorgehobene Graphknoten entspricht der aktuellen Cursorposition im HexRays-Pseudocode-Fenster:

3

  • Ctree-Item-Ansicht – zeigt die Ctree-Darstellung für das hervorgehobene Element an:

16

  • Ctrees in Datei extrahieren – berechnet den SHA1-Hash und speichert alle Ctrees in einer Datei.

14

  • Typen in Datei extrahieren – speichert alle Typinformationen (einschließlich rekonstruierter Typen) in einer Datei.

  • Navigation durch virtuelle Funktionsaufrufe im HexRays-Pseudocode-Fenster. Nach der Darstellung von C++-Objekten durch C-Strukturen ermöglicht diese Funktion die Navigation durch Mausklick auf virtuelle Funktionsaufrufe als Strukturfelder:

4

  • Sprung zum Disasm – kleine Funktion zum Navigieren zum Assembler-Code im „IDA View“-Fenster von der aktuellen Pseudocode-Zeilenposition aus. Dies hilft, die Stelle im Assembler-Code zu finden, die der dekompilierten Zeile zugeordnet ist.

8

  • Objekt-Explorer – nützliche Oberfläche für die Navigation durch VTBL-Strukturen. Der Objekt-Explorer gibt VTBL-Informationen in einem benutzerdefinierten IDA-Ansichtsfenster aus. Das Ausgabefenster wird durch Auswahl der Option «Object Explorer» im Rechtsklick-Kontextmenü geöffnet:

5

Der Objekt-Explorer unterstützt folgende Funktionen:

  • Automatische Strukturgenerierung für VTBL in IDA-Lokaltypen

  • Navigation in der Liste der virtuellen Tabellen und Sprung zur VTBL-Adresse im „IDA View“-Fenster per Klick

  • Anzeige von Hinweisen für die aktuelle Position in der Liste der virtuellen Tabellen

  • Anzeige der Kreuzreferenzliste durch Klick im Menü auf „Show XREFS to VTBL“

11

  • Unterstützt automatisches Parsen von RTTI-Objekten:

13

Der Batch-Modus enthält folgende Funktionen:

  • Batch-Modus – nützliche Funktion zur Verarbeitung mehrerer Dateien ohne Benutzerinteraktion mit CodeXplorer. Wir haben diese Funktion nach der Black-Hat-Forschung im Jahr 2015 zur Verarbeitung von 2 Millionen Beispielen hinzugefügt.
root@kitploit:~
Beispiel (Typen und Ctrees für Funktionen mit dem Namenspräfix "crypto_" ausgeben):
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb

Kompilierung:

Windows:

  • Öffnen Sie die Projektmappe in Visual Studio
  • Öffnen Sie die Datei src/HexRaysCodeXplorer/PropertySheet.props in Notepad(++) und aktualisieren Sie die Werte von IDADIR und IDASDK, um auf den IDA-Installationspfad bzw. den IDA7-SDK-Pfad zu verweisen. Das HexRays-SDK sollte sich unter $IDADIR\plugins\hexrays_sdk befinden (wie standardmäßig)
  • Erstellen Sie die Konfigurationen Release | x64 und Release x64 | x64

Linux:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx install

Mac:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> make -f makefile.mac
  • Das Mac-Makefile erfordert möglicherweise manuelle Anpassungen. Pull-Requests sind willkommen!
  • IDA 7.0 .pmc-Dateierweiterung sollte .dylib sein
  • bash$ export IDA_DIR="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS" && export IDA_SDK="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/idasdk" && make -f makefile7.mac
  • Oder öffnen Sie das Projekt in Xcode HexRaysCodeXplorer.xcodeproj

Mit CMake:

  • cd src/HexRaysCodeXplorer/
  • mkdir build && cd build
  • cmake .. -DIdaSdk_ROOT_DIR=<PATH_TO_IDA_SDK> -DHexRaysSdk_ROOT_DIR=<PATH_TO_HEXRAYS_SDK>
  • cmake --build . --config Release

============================================================================

Konferenzvorträge über das CodeXplorer-Plugin:

  • 2015
  • "Distributing the REconstruction of High-Level IR for Large Scale Malware Analysis", BHUS [Folien]
  • "Object Oriented Code RE with HexraysCodeXplorer", NSEC [Folien]
  • 2014
  • "HexRaysCodeXplorer: object oriented RE for fun and profit", H2HC [Folien]
  • 2013
  • "HexRaysCodeXplorer: make object-oriented RE easier", ZeroNights [Folien]
  • "Reconstructing Gapz: Position-Independent Code Analysis Problem", REcon [Folien]
Tool herunterladen