Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
seer — Seer - a gui frontend to gdb | Kitploit
Outils/GitHubGitHub/epasveer/seer
Static AnalysisDynamic Analysis (Sandboxing)Memory ForensicsReverse EngineeringDebuggersBinary Analysis
GitHubepasveer/seer

seer

Seer - a gui frontend to gdb

Voir le dépôt
3.4k116il y a 3 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Introduction

Seer - une interface graphique pour gdb sous Linux. (Ernie Pasveer [email protected])

Ce projet est activement développé. L'objectif est une interface graphique simple mais agréable pour gdb.

Veuillez signaler tout bug ou fonctionnalité souhaitée à mon adresse email ou créer une tâche sur ma page de projet GitHub.

Installation

Seer peut être installé via un gestionnaire de paquets ou depuis les sources.

[!NOTE] Assurez-vous que les exigences sont remplies avant l'installation.

Prérequis

  • Linux

  • C++17

  • gdb avec l'interpréteur "mi" (vérifiez en exécutant : gdb --interpreter=mi)

  • CMake (3.5.0 ou plus récent)

  • QT6

    • Lors de la compilation de Seer depuis les sources, vous aurez besoin des paquets "devel" de QT6 installés sur votre système pour votre distribution.
      • Core
      • Gui
      • Widgets
      • PrintSupport
      • Charts
      • Svg
    • Les instructions de compilation pour Qt6 sont ici : https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
  • QT5

    • Seer ne compile plus avec Qt5. L'arborescence source 2.3 est la dernière qui le fait.
    • Les instructions de compilation pour Qt5 sont ici : https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

Installer depuis un paquet

Disponible via les gestionnaires de paquets suivants :

Pamac (Manjaro)

root@kitploit:~
$ pamac install seer

zypper (openSUSE Tumbleweed)

root@kitploit:~
$ zypper install seergdb

Flathub

Site web de Flathub. Ici

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

Flatpak

Versions bêta de Seer. Page de version de Seer sur github.

Important : flatpak-spawn --host, nécessaire dans GDB Launcher pour exécuter gdb. Voir https://github.com/epasveer/seer/issues/377#issuecomment-3620844808.

Téléchargez seer.flatpak. Installez-le :

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

Installer depuis les sources

(Recommandé) Seer peut être compilé avec Qt6 en suivant les instructions ci-dessous.

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

Il peut encore être compilé avec Qt5, pour l'instant, en suivant les instructions ci-dessous.

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

NOUVELLES

Consultez la page wiki de Seer sur github.

  • La version v1.17 sera la dernière version Qt5.
  • La prochaine version sera v2.0 et sera basée sur Qt6. Cependant, pour l'instant, elle peut encore être compilée avec Qt5.
  • Si vous voulez la dernière source stable Qt5, prenez v1.17 depuis ici : https://github.com/epasveer/seer/releases/tag/v1.17

Démarrer Seer

Seer est conçu pour démarrer facilement le programme à déboguer depuis la ligne de commande. gdb dispose de plusieurs méthodes pour déboguer un programme. Seer en propose donc naturellement aussi.

Allez sur le Wiki pour voir toutes les façons d'exécuter Seer.

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

Aperçu de l'interface graphique

Exemples des différentes vues et boîtes de dialogue de Seer.

Vue principale

La vue principale de Seer ressemble à ceci :

  • Sources/Fonctions/Types/Variables/Bibliothèques

    • La liste des fichiers source/en-tête utilisés dans le programme.
    • Recherche de fonctions, types et variables statiques. Double-cliquer ouvrira le fichier source.
    • La liste des bibliothèques partagées référencées par le programme.
    • La liste des fichiers source/en-tête peut être recherchée. Cela « réduira » la liste des fichiers affichés.
    • Double-cliquer sur un fichier l'ouvrira dans le gestionnaire de code.
  • Informations sur les variables/registres

    • Afficher les valeurs des variables et des registres.
    • « Logger » - enregistrer la valeur d'une variable. Saisissez-la manuellement ou double-cliquez sur la variable dans le fichier ouvert dans le gestionnaire de code.
    • « Tracker » - créer une liste de variables pour afficher la valeur à chaque fois que gdb atteint un point d'arrêt (step, next, finish, etc.). Lorsque le point d'arrêt est atteint, toutes les variables de la liste afficheront leur valeur potentiellement nouvelle.
    • « Registres » - afficher les valeurs de tous les registres du processeur.
  • Gestionnaire de code.

    • La grande zone de la partie centrale de l'interface graphique de Seer.
    • Les fichiers sources sont ouverts dans cette vue.
    • Le texte dans un fichier peut être recherché avec ^F.
    • Les variables peuvent être ajoutées au « Logger » en double-cliquant sur le nom de la variable. Double-clic avec la touche CTRL enfoncée ajoutera "" avant la variable. Double-clic avec la touche SHIFT enfoncée ajoutera "&" avant la variable. Double-clic avec les touches CTRL+SHIFT enfoncées ajoutera "&" avant la variable.
    • Les variables peuvent être ajoutées au « Tracker » en sélectionnant le nom de la variable et en faisant un clic droit et en sélectionnant « Ajouter une variable au Tracker ».
    • Les variables peuvent être ajoutées au « Visualiseur mémoire » en sélectionnant le nom de la variable et en faisant un clic droit et en sélectionnant « Ajouter une variable au Visualiseur mémoire ».
    • Un point d'arrêt/point d'impression peut être créé en faisant un clic droit sur une ligne spécifique.
    • Peut exécuter jusqu'à une ligne spécifique en faisant un clic droit sur une ligne spécifique.
    • Les onglets de cette vue peuvent être détachés en double-cliquant sur un onglet.
  • Points d'arrêt, points de surveillance, points de capture, points d'impression, commandes gdb manuelles et journaux.

    • La zone située sous le gestionnaire de code.
    • Commandes manuelles. Saisissez manuellement une commande gdb ou gdbmi. Les commandes sont mémorisées pour la prochaine utilisation de Seer.

Boîte de dialogue d'ouverture

Lorsque la boîte de dialogue d'ouverture d'exécutable est invoquée, elle ressemble à ceci :

Console Seer

Toute sortie texte de l'exécutable ira dans la console Seer. La saisie de texte pour l'exécutable peut également se faire via la console.

Vue assembleur

Normalement, Seer affiche le code source sous forme d'onglets dans le gestionnaire de code. L'assembleur du programme peut également être affiché sous forme d'onglet.

Sélectionnez « Affichage -> Vue Assembleur » et un onglet supplémentaire sera affiché à côté des onglets de code source, montrant l'assembleur en cours d'exécution. Voici un exemple.

Comme les onglets de code source, des points d'arrêt peuvent être définis dans l'onglet assembleur. L'instruction courante est surlignée.

Double-cliquer sur les entrées de l'onglet « Points d'arrêt » et de l'onglet « Frames de pile » affichera l'assembleur pour ces adresses.

Il existe des touches de raccourci « Nexti » et « Stepi », telles que définies par vos paramètres de configuration. Normalement « Ctrl+F5 » et « CTRL+F6 ». Utiliser « ^F » dans l'onglet assembleur affichera une barre de recherche puissante.

La fonctionnalité assembleur dans Seer est nouvelle. N'hésitez pas à suggérer des modifications/fonctionnalités.

Visualiseur mémoire

Lorsque l'on examine le contenu de la mémoire brute dans le visualiseur mémoire, cela ressemble à ceci :

MémoireDésassemblage

Visualiseur de tableaux

Lorsque l'on examine le contenu des tableaux dans le visualiseur de tableaux, cela ressemble à ceci :

NormalSplineDispersion

Deux tableaux peuvent être utilisés comme un tracé X-Y. Par exemple, ce simple tableau 'points' forme le contour X-Y d'une forme.

root@kitploit:~
    int main() {
        int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
        return 0;
    }
Valeurs XValeurs YValeurs XY

Visualiseur de structures

Lorsque l'on examine le contenu d'une structure C/C++ ou d'une classe C++ dans le visualiseur de structures, cela ressemble à ceci. Cet exemple montre le contenu de « *this » pour la classe C++ courante dans laquelle Seer se trouve. Tous les membres de structure qui sont des types de base peuvent être modifiés.

Il existe également un Visualiseur de structures basique plus léger, mais qui ne peut pas suivre les pointeurs et ne peut pas être modifié.

Visualiseur d'images

Lorsque l'on examine le contenu d'une mémoire brute qui est une image, le visualiseur d'images peut être utilisé.

Support/Contact

Envoyez un email à [email protected] pour tout bug ou fonctionnalité. Ou créez une tâche sur ma page de projet GitHub.

Observateurs

C'est un monde merveilleux.

Télécharger l’outil
  • Gestionnaire de points d'arrêt. Créer et gérer les points d'arrêt.
  • Gestionnaire de points de surveillance. Créer et gérer les points de surveillance. Un point de surveillance surveille l'accès à une variable (lecture, écriture, lecture/écriture).
  • Gestionnaire de points de capture. Créer et gérer les points de capture. Un point de capture arrête l'exécution sur un appel C++ throw/rethrow/catch.
  • Gestionnaire de points d'impression. Créer et gérer les points d'impression. Un point d'impression est comme un point d'arrêt mais permet d'imprimer des variables à ce point. Voir l'appel 'dprintf' de gdb.
  • Sortie GDB. Un journal de toute sortie du programme gdb lui-même.
  • Sortie Seer. Un journal de toute sortie du programme Seer lui-même. À titre de diagnostic.
  • Les onglets de cette vue peuvent être détachés en double-cliquant sur un onglet.
  • Informations sur la pile d'appels.

    • Liste des frames de la pile. Un frame peut être double-cliqué pour changer le contexte (la fonction courante).
    • Arguments des frames de la pile. Pour chaque frame, afficher les arguments passés à chaque fonction.
    • Variables locales de la pile. Pour la fonction courante, afficher les valeurs des variables locales.
  • Informations sur les threads.

    • Identifiants de threads. Liste de tous les threads. Double-cliquez sur un identifiant de thread pour changer le contexte (le thread courant).
    • Frames de threads. Pour chaque thread, lister ses frames de pile.
  • Prend en charge le mode de débogage inversé de Gdb.

    • Activer ou désactiver l'enregistrement d'instructions.
    • Définir la direction de lecture sur avant ou arrière.