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
Tools/GitHubGitHub/nccgroup/cartographer
Dynamische Code-Analyse (DAST)Reverse EngineeringBinäranalyse
GitHubnccgroup/cartographer

Cartographer

Code-Coverage-Erkundungs-Plugin für Ghidra

Repository anzeigen
382355vor 2 JahrenVon 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

Cartographer

Code-Abdeckung kartieren

Version Build Status License
Watchers Stars Downloads

Entwickelt von Austin Peavy - https://github.com/aus10pv

Als Open Source veröffentlicht von NCC Group Plc - https://www.nccgroup.com/
Veröffentlicht unter der Apache-2.0-Lizenz (siehe LICENSE für weitere Informationen)

Cartographer-Oberfläche

Tool herunterladen

Beschreibung

Cartographer ist ein Plugin zur Kartierung der Codeabdeckung für Ghidra, das es Forschern ermöglicht zu beobachten, welche Teile eines Programms ausgeführt wurden, ohne den Quellcode zu benötigen.

Inhaltsverzeichnis

  • Hauptfunktionen
  • Installation
    • Laden des Plugins
  • Verwendung
    • Laden von Code-Coverage-Dateien
    • Details zur Code-Abdeckung
    • Wechseln zwischen Abdeckungen
    • Ausdrucksparser
      • Syntax
      • Beispiele
  • Mitwirkung
    • Build aus dem Quellcode
    • Fehler melden
  • Danksagungen

Hauptfunktionen

  • Färbt ausgeführten Code ein
    • Funktionsgraph
    • Disassembly-Ansicht (Listing)
    • Decompiler-Ansicht
  • Vollständig anpassbare Farben
  • Unterstützt Ghidra-Designs
  • Lädt DRCOV-Dateien und benutzerdefinierte EZCOV-Dateien
    • Einzelheiten zum EZCOV-Format finden Sie in EZCOV.md
  • Bietet eine detaillierte Übersicht über die Funktionsabdeckung
    • Enthält eine Heatmap, die zeigt, wie viel von jeder Funktion ausgeführt wurde
  • Einfacher Wechsel zwischen geladenen Coverage-Dateien
  • Suche nach Funktionen anhand des Namens
  • Filtert Ergebnisse nach Abdeckungsgrad und mehr
  • Leistungsfähiger Ausdrucksparser
    • Führt logische Operationen auf mehreren geladenen Coverages aus
  • Unterstützt Abdeckung in verschiedenen Adressräumen

Installation

Die neueste stabile Version von Cartographer kann von der Releases-Seite heruntergeladen werden.

Laden des Plugins

  1. Starten Sie Ghidra.
  2. Navigieren Sie zum Fenster „Install Extensions“.
    • File -> Install Extensions...
  3. Klicken Sie auf das grüne „+“-Symbol in der oberen rechten Ecke.
  4. Wählen Sie die heruntergeladene ZIP-Datei aus, um das Plugin in Ghidra zu laden.
  5. Klicken Sie auf die Schaltfläche „OK“, um das Fenster „Install Extensions“ zu schließen.
  6. Starten Sie Ghidra neu, wenn Sie dazu aufgefordert werden.

Verwendung

Sobald das Plugin geladen ist, stehen im CodeBrowser-Fenster zusätzliche Steuerelemente für die Arbeit mit Codeabdeckungsdaten zur Verfügung.

Laden von Code-Coverage-Dateien

Code-Coverage-Dateien können über das Menü Tools -> Code Coverage -> Load Code Coverage File(s)... geladen werden.

Wenn eine Code-Coverage-Datei geladen wird, werden alle Abdeckungsdaten sofort in der Listing-Ansicht und der Decompiler-Ansicht hervorgehoben.

Laden einer Code-Coverage-Datei

Details zur Code-Abdeckung

Detaillierte Informationen zu den Abdeckungsdaten jeder Funktion finden Sie im Fenster Code Coverage.

Das Fenster Code Coverage kann geöffnet werden, indem Sie zu Window -> Code Coverage navigieren, oder durch Drücken von Ctrl-Shift-C unter Windows (Cmd-Shift-C auf dem Mac).

Dieses Fenster zeigt verschiedene Details zu jeder Funktion im Programm:

  • Abdeckung %: Prozentsatz der ausgeführten Funktion
  • Name: Name der Funktion
  • Adresse: Adresse (Einstiegspunkt) der Funktion
  • Ausgeführte Blöcke: Anzahl der ausgeführten Basisblöcke
  • Ausgeführte Instruktionen: Anzahl der ausgeführten Instruktionen
  • Funktionsgröße: Größe der Funktion in Bytes

Ein Klick auf eine Funktion navigiert zur entsprechenden Funktion in der Listing-Ansicht und der Decompiler-Ansicht.

Öffnen des Code-Coverage-Fensters

Suchen und Filtern

Das Filter-Eingabefeld kann verwendet werden, um nach einer Funktion anhand des Namens zu suchen.

Alle in der Abdeckungstabelle angezeigten Daten können als Spaltenfilter verwendet werden.

Suchen und Filtern von Daten

Wechseln zwischen Abdeckungen

Über das Dropdown-Menü unten rechts im Fenster Code Coverage können Sie schnell und einfach zwischen geladenen Code-Coverage-Dateien wechseln.

Wechseln zwischen Abdeckungen

Ausdrucksparser

Das Textfeld am unteren Rand des Fensters Code Coverage kann verwendet werden, um logische Operationen auf geladenen Code-Coverage-Dateien durchzuführen.

Dies kann äußerst nützlich sein, um Unterschiede und Gemeinsamkeiten zwischen verschiedenen Läufen eines Programms zu untersuchen.

Verwendung des Ausdrucksparsers

Syntax

Im Folgenden sind die logischen Operatoren aufgeführt, die im Ausdrucksparser verwendet werden können.

  • &: Liefert nur den Code, der von beiden Abdeckungen ausgeführt wurde
  • |: Liefert jeden Code, der von einer der Abdeckungen ausgeführt wurde
  • ^: Liefert nur den ausgeführten Code, der zwischen den Abdeckungen abweicht
  • -: Liefert nur ausgeführten Code, der ausschließlich in der linken Abdeckung enthalten ist

Coverages werden über ihre alphabetischen IDs im Dropdown-Menü referenziert, z. B. A, B, XY usw.

Jede logische Operation wird mit Klammern gruppiert, und Ausdrücke können beliebig lang oder komplex sein.

Beispiele

  1. Zeigen Sie den Code, der in beiden Abdeckungen A und B ausgeführt wurde:

    root@kitploit:~
    A & B
    
  2. Zeigen Sie den ausgeführten Code, der sich zwischen den Abdeckungen A und B unterscheidet:

    root@kitploit:~
    A ^ B
    
  3. Zeigen Sie Code, der nur in B ausgeführt wurde:

    root@kitploit:~
    B - A
    
  4. Kombinieren Sie alle Abdeckungsdaten aus A und B und finden Sie dann Unterschiede zu C:

    root@kitploit:~
    (A | B) ^ C
    

Mitwirkung

Build aus dem Quellcode

Gradle kann verwendet werden, um Cartographer aus seinem Quellcode zu bauen.

  1. Klonen Sie das Cartographer GitHub-Repository.

    root@kitploit:~
    $ git clone https://github.com/nccgroup/Cartographer.git
    
  2. Wechseln Sie in das Repository und bauen Sie mit Gradle.

    root@kitploit:~
    $ cd Cartographer
    $ gradle -PGHIDRA_INSTALL_DIR=<ghidra_install_dir>
    
    • Ersetzen Sie <ghidra_install_dir> durch den Pfad zu Ihrer lokalen Ghidra-Installation.
  3. Nach dem Build befindet sich die Plugin-ZIP-Datei im Ordner dist/.

Fehler melden

Wenn Sie einen Fehler in Cartographer gefunden haben, eröffnen Sie bitte ein Issue über GitHub.

Danksagungen

Ursprünglich inspiriert von Lighthouse - https://github.com/gaasedelen/lighthouse