Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
seer — Seer - un frontend grafico per gdb | Kitploit
Strumenti/GitHubGitHub/epasveer/seer
Analisi StaticaAnalisi Dinamica (Sandboxing)Memory ForensicsReverse EngineeringDebuggerAnalisi di Binari
GitHubepasveer/seer

seer

Seer - un frontend grafico per gdb

Vedi Repository
3.4k1163 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Introduzione

Seer - un frontend GUI per gdb per Linux. (Ernie Pasveer [email protected])

Questo progetto è attivamente sviluppato. L'obiettivo è un'interfaccia grafica semplice ma piacevole per gdb.

Segnala eventuali bug o funzionalità desiderate alla mia email o crea un task nella mia pagina del progetto GitHub.

Installazione

Seer può essere installato tramite un gestore di pacchetti o dal sorgente.

[!NOTE] Assicurati che i requisiti siano soddisfatti prima di installare.

Requisiti

  • Linux

  • C++17

  • gdb con interprete "mi" (verifica eseguendo: gdb --interpreter=mi)

  • CMake (3.5.0 o successivo)

  • QT6

    • Quando compili Seer dal sorgente, avrai bisogno dei pacchetti "devel" di QT6 installati sul tuo sistema per la tua distribuzione.
      • Core
      • Gui
      • Widgets
      • PrintSupport
      • Charts
      • Svg
    • Le istruzioni di compilazione per Qt6 sono qui: https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
  • QT5

    • Seer non viene più compilato con Qt5.
    • L'albero sorgente 2.3 è l'ultimo che lo fa.
    • Le istruzioni di compilazione per Qt5 sono qui: https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

Installa da pacchetto

Disponibile tramite i seguenti gestori di pacchetti:

Pamac (Manjaro)

root@kitploit:~
$ pamac install seer

zypper (openSUSE Tumbleweed)

root@kitploit:~
$ zypper install seergdb

Flathub

Sito web Flathub. Qui

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

Flatpak

Versioni beta di Seer. Pagina delle release di Seer su GitHub.

Importante: flatpak-spawn --host, necessario in GDB Launcher per eseguire gdb. Vedi https://github.com/epasveer/seer/issues/377#issuecomment-3620844808.

Scarica seer.flatpak. Installalo:

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

Installa da sorgente

(Consigliato) Seer può essere compilato con Qt6 seguendo le istruzioni sotto.

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

Può ancora essere compilato con Qt5, per il momento, seguendo le istruzioni sotto.

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

NOVITÀ

Dai un'occhiata alla pagina Wiki di Seer su GitHub.

  • La versione v1.17 sarà l'ultima release per Qt5.
  • La prossima release sarà la v2.0 e sarà basata su Qt6. Tuttavia, per il momento, è ancora possibile compilarla con Qt5.
  • Se vuoi l'ultimo sorgente stabile per Qt5, prendi v1.17 da qui: https://github.com/epasveer/seer/releases/tag/v1.17

Avvio di Seer

Seer è progettato per avviare facilmente il programma da debuggare dalla riga di comando. gdb ha molteplici metodi per debuggare un programma. Quindi Seer naturalmente li ha anche lui.

Vai alla Wiki per vedere tutti i modi per eseguire Seer.

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

Panoramica della GUI

Esempi delle varie viste e finestre di dialogo di Seer.

Vista Principale

La vista principale di Seer appare così:

  • Sorgente/Funzione/Tipi/Variabili/Librerie

    • L'elenco dei file sorgente/intestazione utilizzati nel programma.
    • Cerca Funzioni, Tipi e Variabili Statiche. Un doppio clic aprirà il file sorgente.
    • L'elenco delle librerie condivise referenziate dal programma.
    • L'elenco dei file sorgente/intestazione può essere cercato. Questo "restringerà" l'elenco dei file mostrati.
    • Un doppio clic su un file lo aprirà nel Code Manager.
  • Informazioni su Variabili/Registri

    • Mostra i valori delle variabili e dei registri.
    • "Logger" - registra il valore di una variabile. Inseriscilo manualmente o fai doppio clic sulla variabile nel file aperto nel code manager.
    • "Tracker" - crea un elenco di variabili di cui mostrare il valore ogni volta che gdb raggiunge un punto di arresto (step, next, finish, ecc.). Quando il punto di arresto viene raggiunto, tutte le variabili nell'elenco mostreranno il loro potenziale nuovo valore.
    • "Registers" - mostra i valori di tutti i registri della CPU.
  • Code Manager.

    • La grande area della parte centrale della GUI di Seer.
    • I file sorgente vengono aperti in questa vista.
    • Il testo in un file può essere cercato con ^F.
    • Le variabili possono essere aggiunte al "Logger" facendo doppio clic sul nome della variabile. Doppio clic con premuto il tasto CTRL anteporrà "" alla variabile. Doppio clic con premuto il tasto SHIFT anteporrà "&" alla variabile. Doppio clic con premuti i tasti CTRL+SHIFT anteporrà "&" alla variabile.
    • Le variabili possono essere aggiunte al "Tracker" selezionando il nome della variabile, RMB e selezionando "Add variable to Tracker".
    • Le variabili possono essere aggiunte al "Memory Visualizer" selezionando il nome della variabile, RMB e selezionando "Add variable to Memory Visualizer".
    • Un breakpoint/printpoint può essere creato con RMB su una riga specifica.
    • Puoi eseguire fino a una riga specifica con RMB su una riga specifica.
    • Le schede in questa vista possono essere staccate facendo doppio clic su una scheda.
  • Breakpoint, Watchpoint, Catchpoint, Printpoint, comandi gdb manuali e log.

    • L'area sotto il Code Manager.
    • Comandi manuali. Inserisci manualmente un comando gdb o gdbmi. I comandi vengono ricordati per il successivo utilizzo di Seer.
    • Gestore breakpoint. Crea e gestisci breakpoint.
    • Gestore watchpoint. Crea e gestisci watchpoint. Un watchpoint monitora quando una variabile viene acceduta (lettura, scrittura, lettura/scrittura).
    • Gestore catchpoint. Crea e gestisci catchpoint. Un catchpoint ferma l'esecuzione su una chiamata C++ throw/rethrow/catch.

Finestra di dialogo Apri

Quando viene invocata la finestra di dialogo per aprire l'eseguibile, appare così:

Console Seer

Tutto l'output di testo dall'eseguibile andrà alla console Seer. L'input di testo per l'eseguibile può essere inserito anche tramite la console.

Vista Assembly

Normalmente Seer mostrerà solo il codice sorgente come schede nel Code Manager. L'assembly del programma può essere mostrato anche come scheda.

Seleziona "View->Assembly View" e verrà mostrata una scheda aggiuntiva accanto alle schede del codice sorgente che mostra l'assembly corrente in esecuzione. Ecco un esempio.

Come per le schede del codice sorgente, i breakpoint possono essere impostati nella scheda assembly. L'istruzione corrente è evidenziata.

Facendo doppio clic sulle voci nella scheda "Breakpoints" e nella scheda "Stack frames" verrà mostrato l'assembly per quegli indirizzi.

Ci sono i tasti rapidi "Nexti" e "Stepi", come definito dalle impostazioni di configurazione. Normalmente "Ctrl+F5" e "CTRL+F6". Usando "^F" nella scheda assembly verrà mostrata una potente barra di ricerca.

La funzionalità assembly in Seer è nuova. Sentiti libero di suggerire modifiche/funzionalità.

Memory Visualizer

Quando si esamina il contenuto della memoria grezza nel Memory Visualizer, appare così:

MemoryDisassembly

Array Visualizer

Quando si esamina il contenuto degli array nell'Array Visualizer, appare così:

NormalSplineScatter

Due array possono essere usati come un grafico X-Y. Per esempio, questo semplice array 'points' forma il contorno X-Y di una forma.

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

Struct Visualizer

Quando si esamina il contenuto di una struct C/C++ o di una classe C++ nel Struct Visualizer, appare così. Questo esempio mostra il contenuto di "*this" per la classe C++ corrente in cui si trova Seer. Tutti i membri della struttura che sono tipi base possono essere modificati.

C'è anche un Basic Struct Visualizer più leggero, ma che non può seguire i puntatori e non può essere modificato.

Image Visualizer

Quando si esamina il contenuto di memoria grezza che è un'immagine, è possibile utilizzare l'Image Visualizer.

Supporto/Contatto

Invia un'email a [email protected] per eventuali bug o funzionalità. Oppure crea un task nella mia pagina del progetto GitHub.

Stargazers

È un mondo meraviglioso.

Scarica lo strumento
  • Gestore printpoint. Crea e gestisci printpoint. Un printpoint è come un breakpoint ma ti permette di stampare variabili in quel punto di stampa. Vedi la chiamata 'dprintf' di gdb.
  • Output GDB. Un log di qualsiasi output dal programma gdb stesso.
  • Output Seer. Un log di qualsiasi output dal programma Seer stesso. Come diagnostica.
  • Le schede in questa vista possono essere staccate facendo doppio clic su una scheda.
  • Informazioni sullo stack frame.

    • Elenco stack frame. Un frame può essere cliccato due volte per cambiare l'ambito (la funzione corrente).
    • Argomenti dello stack frame. Per ogni frame, stampa gli argomenti passati a ciascuna funzione.
    • Variabili locali dello stack. Per la funzione corrente, stampa i valori delle variabili locali.
  • Informazioni sui thread.

    • ID thread. Un elenco di tutti i thread. Doppio clic su un ID thread per cambiare l'ambito (il thread corrente).
    • Frame dei thread. Per ogni thread, elenca i suoi stack frame.
  • Supporta la modalità di Reverse Debugging di Gdb.

    • Attiva o disattiva la registrazione delle istruzioni.
    • Imposta la direzione di riproduzione in avanti o indietro.