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
seer — Seer - eine grafische Benutzeroberfläche für gdb | Kitploit
Tools/GitHubGitHub/epasveer/seer
Statische AnalyseDynamische Analyse (Sandboxing)SpeicherforensikReverse EngineeringDebuggerBinäranalyse
GitHubepasveer/seer

seer

Seer - eine grafische Benutzeroberfläche für gdb

Repository anzeigen
3.4k116vor 3 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

Einleitung

Seer - eine grafische Benutzeroberfläche für gdb unter Linux. (Ernie Pasveer [email protected])

Dieses Projekt wird aktiv weiterentwickelt. Ziel ist eine einfache, aber ansprechende GUI für gdb.

Bitte melden Sie Fehler oder gewünschte Funktionen per E-Mail oder erstellen Sie eine Aufgabe auf meiner GitHub-Projektseite.

Installation

Seer kann entweder über einen Paketmanager oder aus dem Quellcode installiert werden.

[!NOTE] Stellen Sie sicher, dass die Anforderungen erfüllt sind, bevor Sie die Installation durchführen.

Anforderungen

  • Linux

  • C++17

  • gdb mit "mi"-Interpreter (überprüfbar mit: gdb --interpreter=mi)

  • CMake (3.5.0 oder neuer)

  • QT6

    • Wenn Sie Seer aus dem Quellcode bauen, benötigen Sie die QT6-Entwicklungspakete („devel“), die für Ihre Distribution installiert sein müssen.
      • Core
      • Gui
      • Widgets
      • PrintSupport
      • Charts
      • Svg
    • Anleitung zum Bauen mit Qt6: https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
  • QT5

    • Seer lässt sich nicht mehr mit Qt5 kompilieren. Der Quellcode von Version 2.3 ist die letzte, die dies unterstützt.
    • Anleitung zum Bauen mit Qt5: https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

Installation aus Paket

Verfügbar über folgende Paketmanager:

Pamac (Manjaro)

root@kitploit:~
$ pamac install seer

zypper (openSUSE Tumbleweed)

root@kitploit:~
$ zypper install seergdb

Flathub

Flathub-Website. Hier

root@kitploit:~
$ flatpak install flathub io.github.epasveer.seer

Flatpak

Beta-Versionen von Seer. Seer's Release-Seite auf GitHub.

Wichtig: flatpak-spawn --host, erforderlich im GDB Launcher, um gdb auszuführen. Siehe https://github.com/epasveer/seer/issues/377#issuecomment-3620844808.

Laden Sie seer.flatpak herunter. Installieren Sie es:

root@kitploit:~
$ flatpak install -y --bundle --user seer.flatpak

Installation aus dem Quellcode

(empfohlen) Seer kann mit Qt6 gebaut werden, indem Sie den folgenden Anweisungen folgen.

https://github.com/epasveer/seer/wiki/Building-Seer---Qt6

Es kann vorerst weiterhin mit Qt5 gebaut werden, indem Sie den folgenden Anweisungen folgen.

https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

NEUIGKEITEN

Schauen Sie sich Seer's Wiki-Seite auf GitHub an.

  • Version v1.17 wird die letzte Qt5-Veröffentlichung sein.
  • Die nächste Veröffentlichung wird v2.0 sein und auf Qt6 basieren. Allerdings kann es vorerst weiterhin mit Qt5 kompiliert werden.
  • Wenn Sie den neuesten stabilen Qt5-Quellcode möchten, holen Sie sich v1.17 von hier: https://github.com/epasveer/seer/releases/tag/v1.17

Starten von Seer

Seer ist dafür gedacht, das zu debuggende Programm einfach von der Kommandozeile aus zu starten. gdb bietet mehrere Methoden zum Debuggen eines Programms. Daher tut Seer dies natürlich auch.

Gehen Sie zum Wiki, um alle Möglichkeiten zum Ausführen von Seer zu sehen.

https://github.com/epasveer/seer/wiki/Starting-Seer

GUI-Übersicht

Beispiele der verschiedenen Seer-Ansichten und Dialoge.

Hauptansicht

Die Hauptansicht von Seer sieht folgendermaßen aus:

  • Quellcode/Funktionen/Typen/Variablen/Bibliotheken

    • Die Liste der Quell-/Header-Dateien, die im Programm verwendet wurden.
    • Suche nach Funktionen, Typen und statischen Variablen. Ein Doppelklick öffnet die Quelldatei.
    • Die Liste der vom Programm referenzierten gemeinsamen Bibliotheken.
    • Die Liste der Quell-/Header-Dateien kann durchsucht werden. Dadurch wird die angezeigte Liste der Dateien „eingeschränkt".
    • Ein Doppelklick auf eine Datei öffnet sie im Code-Manager.
  • Variablen-/Register-Informationen

    • Anzeigen von Variablen- und Registerwerten.
    • „Logger“ - protokolliert den Wert einer Variable. Manuell eingeben oder per Doppelklick auf die Variable in der Datei, die im Code-Manager geöffnet ist.
    • „Tracker“ - erstellt eine Liste von Variablen, deren Wert bei jedem Haltepunkt von gdb (Schritt, Nächster, Beenden usw.) angezeigt wird. Wenn der Haltepunkt erreicht wird, zeigen alle Variablen in der Liste ihren potenziell neuen Wert.
    • „Register“ - zeigt die Werte aller CPU-Register.
  • Code-Manager.

    • Der große Bereich im mittleren Teil der Seer-GUI.
    • Quellcodedateien werden in dieser Ansicht geöffnet.
    • Text in einer Datei kann mit ^F durchsucht werden.
    • Variablen können durch Doppelklick auf den Variablennamen zum „Logger“ hinzugefügt werden. Doppelklick mit gedrückter STRG-Taste fügt der Variable „“ voran. Doppelklick mit gedrückter UMSCHALTTASTE fügt der Variable „&“ voran. Doppelklick mit gedrückter STRG+UMSCHALTTASTE fügt der Variable „&“ voran.
    • Variablen können zum „Tracker“ hinzugefügt werden, indem Sie den Variablennamen auswählen, mit RMB klicken und „Add variable to Tracker“ auswählen.
    • Variablen können zum „Memory Visualizer“ hinzugefügt werden, indem Sie den Variablennamen auswählen, mit RMB klicken und „Add variable to Memory Visualizer“ auswählen.
    • Ein Breakpoint/Printpoint kann durch RMB auf einer bestimmten Zeile erstellt werden.
    • Kann zu einer bestimmten Zeile ausgeführt werden, indem Sie RMB auf einer bestimmten Zeile klicken.
    • Tabs in dieser Ansicht können durch Doppelklicken auf einen Tab abgelöst werden.
  • Breakpoints, Watchpoints, Catchpoints, Printpoints, manuelle gdb-Befehle und Logs.

    • Der Bereich unterhalb des Code-Managers.
    • Manuelle Befehle. Manuell einen gdb- oder gdbmi-Befehl eingeben. Die Befehle werden für die nächste Seer-Sitzung gemerkt.
    • Breakpoint-Manager. Breakpoints erstellen und verwalten.
    • Watchpoint-Manager. Watchpoints erstellen und verwalten. Ein Watchpoint überwacht, wann eine Variable zugegriffen wird (Lesen, Schreiben, Lesen/Schreiben).

Öffnen-Dialog

Wenn der Dialog zum Öffnen der ausführbaren Datei aufgerufen wird, sieht er folgendermaßen aus:

Seer-Konsole

Die gesamte Textausgabe der ausführbaren Datei erfolgt in der Seer-Konsole. Die Texteingabe für die ausführbare Datei kann ebenfalls über die Konsole erfolgen.

Assembleransicht

Normalerweise zeigt Seer den Quellcode als Tabs im Code-Manager an. Das Assembler-Programm kann ebenfalls als Tab angezeigt werden.

Wählen Sie „View->Assembly View“ und ein zusätzlicher Tab wird neben den Quellcode-Tabs angezeigt, der die aktuell ausgeführte Assemblierung zeigt. Hier ein Beispiel.

Wie bei den Quellcode-Tabs können Breakpoints im Assembler-Tab gesetzt werden. Die aktuelle Anweisung ist hervorgehoben.

Doppelklick auf Einträge im „Breakpoints“-Tab und im „Stack frames“-Tab zeigt die Assemblierung für diese Adressen.

Es gibt „Nexti“ und „Stepi“-Hotkeys, wie in Ihren Konfigurationseinstellungen festgelegt. Normalerweise „Ctrl+F5“ und „CTRL+F6“. Die Verwendung von „^F“ im Assembler-Tab zeigt eine leistungsstarke Suchleiste.

Die Assembler-Funktion in Seer ist neu. Fühlen Sie sich frei, Änderungen/Funktionen vorzuschlagen.

Speichervisualisierer

Wenn Sie den Inhalt des rohen Speichers im Speichervisualisierer betrachten, sieht es folgendermaßen aus:

SpeicherDisassemblierung

Array-Visualisierer

Wenn Sie den Inhalt von Arrays im Array-Visualisierer betrachten, sieht es folgendermaßen aus:

NormalSplineScatter

Zwei Arrays können als X-Y-Diagramm verwendet werden. Zum Beispiel bildet dieses einfache 'points'-Array den X-Y-Umriss einer Form.

root@kitploit:~
    int main() {
        int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
        return 0;
    }
X-WerteY-WerteXY-Werte

Struktur-Visualisierer

Wenn Sie den Inhalt einer C/C++-Struktur oder einer C++-Klasse im Struktur-Visualisierer betrachten, sieht es folgendermaßen aus. Dieses Beispiel zeigt den Inhalt von „*this“ für die aktuelle C++-Klasse, in der sich Seer befindet. Alle Strukturmitglieder, die Basistypen sind, können bearbeitet werden.

Es gibt auch einen Basic Struct Visualizer, der leichter ist, aber keine Zeiger verfolgen kann und nicht bearbeitet werden kann.

Bildvisualisierer

Wenn Sie den Inhalt des rohen Speichers betrachten, der ein Bild ist, kann der Bildvisualisierer verwendet werden.

Support/Kontakt

Senden Sie eine E-Mail an [email protected] für Fehler oder Funktionen. Oder erstellen Sie eine Aufgabe auf meiner GitHub-Projektseite.

Stargazers

Es ist eine wunderbare Welt.

Tool herunterladen
  • Catchpoint-Manager. Catchpoints erstellen und verwalten. Ein Catchpoint hält die Ausführung bei einem C++-throw/rethrow/catch-Aufruf an.
  • Printpoint-Manager. Printpoints erstellen und verwalten. Ein Printpoint ist wie ein Breakpoint, erlaubt aber das Drucken von Variablen an diesem Punkt. Siehe gdb's 'dprintf'-Aufruf.
  • GDB-Ausgabe. Ein Protokoll aller Ausgaben des gdb-Programms selbst.
  • Seer-Ausgabe. Ein Protokoll aller Ausgaben des Seer-Programms selbst. Als Diagnose.
  • Tabs in dieser Ansicht können durch Doppelklicken auf einen Tab abgelöst werden.
  • Stack-Frame-Informationen.

    • Stack-Frame-Liste. Ein Frame kann durch Doppelklick ausgewählt werden, um den Gültigkeitsbereich (die aktuelle Funktion) zu ändern.
    • Stack-Frame-Argumente. Für jeden Frame die an jede Funktion übergebenen Argumente anzeigen.
    • Lokale Stack-Variablen. Für die aktuelle Funktion die Werte der lokalen Variablen anzeigen.
  • Thread-Informationen.

    • Thread-IDs. Eine Liste aller Threads. Doppelklick auf eine Thread-ID, um den Gültigkeitsbereich (den aktuellen Thread) zu ändern.
    • Thread-Frames. Für jeden Thread seine Stack-Frames auflisten.
  • Unterstützt Gdb's Reverse Debugging Modus.

    • Befehlsaufzeichnung ein- oder ausschalten.
    • Wiedergaberichtung auf vorwärts oder rückwärts setzen.