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
gdb-frontend — ☕ GDBFrontend est un débogueur graphique facile, flexible et extensible. | Kitploit
Outils/GitHubGitHub/rohanrhu/gdb-frontend
Rétro-ingénierieDébogueursAnalyse de BinairesApprentissage et Éducation
GitHubrohanrhu/gdb-frontend

gdb-frontend

☕ GDBFrontend est un débogueur graphique facile, flexible et extensible.

Voir le dépôt
3.0k112il y a 9 moisVé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

GDBFrontend

GitHub release GitHub issues GitHub forks GitHub stars GDBFrontend Discord Support me on Patreon

GDBFrontend est un débogueur graphique facile, flexible et extensible.

gdb-frontend

Installation

Prérequis

  • GDB => 8.2 (with python3)
  • python3 => 3.6
  • tmux

Paquet PIP (Python Wheel) [Recommandé]

Vous pouvez installer GDBFrontend avec pip.

root@kitploit:~
sudo python3 -m pip install gdbfrontend

s'il est déjà installé et que vous mettez à jour

root@kitploit:~
sudo python3 -m pip install --upgrade gdbfrontend

ou si vous souhaitez installer un snapshot GIT spécifique :

root@kitploit:~
sudo python3 setup.py install

et vous pouvez exécuter

root@kitploit:~
gdbfrontend

Exécution depuis GIT

Vous pouvez télécharger la dernière source et l'exécuter.

Vous pouvez exécuter gdb-frontend avec les commandes suivantes :

root@kitploit:~
git clone https://github.com/rohanrhu/gdb-frontend.git gdb-frontend
cd gdb-frontend
./gdbfrontend

et vous pouvez l'ouvrir avec :

root@kitploit:~
http://127.0.0.1:5550/

Vous pouvez ouvrir le shell GDB avec la commande :

root@kitploit:~
tmux a -t gdb-frontend

Arch Linux (AUR)

Vous pouvez installer le paquet Arch Linux pour les distributions basées sur Arch. (Paquet AUR)

root@kitploit:~
yay -S gdb-frontend-bin

et vous pouvez l'exécuter :

root@kitploit:~
gdbfrontend

Flatpak

Le paquet Flatpak est à faire.

Débogage d'applications C/C++ dockérisées avec GDBFrontend

Suivez ce tutoriel pour apprendre comment déboguer des applications C/C++ dockérisées avec GDBFrontend.

Débogage embarqué avec GDBFrontend

Suivez ce tutoriel rapide pour déboguer des dispositifs embarqués avec GDBFrontend.

Débogage d'extensions C Python avec GDBFrontend

Suivez ce tutoriel rapide pour déboguer des extensions C Python natives avec GDBFrontend.

Comment développer des plugins GDBFrontend ?

GDBFrontend dispose d'API puissantes et extensibles. Suivez ce tutoriel rapide pour apprendre à développer des plugins GDBFrontend.

Comment intégrer GDBFrontend avec votre Makefile ?

Suivez ce tutoriel rapide pour des idées d'intégration pour des besoins de développement/débogage spéciaux.

Débogage STM32 avec OpenOCD, GDB et GDBFrontend sur Linux

Suivez ce tutoriel pour déboguer STM32 avec OpenOCD et GDBFrontend.

Fonctionnalités

Évaluateur d'expression

GDBFrontend dispose d'un évaluateur d'expression que vous pouvez utiliser plusieurs à la fois.

Visualisation de pointeur

Visualisation de liste chaînée

Points d'arrêt conditionnels

Faites un clic droit sur un point d'arrêt pour définir sa condition.

Expressions connectées

Les expressions de toutes les variables, membres et éléments sont connectées dans VariablesExplorer de GDBFrontend.

Gestionnaire de processus

Vous pouvez surveiller, filtrer ou gérer les processus avec le Gestionnaire de processus.

Visualisation de graphe de tableau

Collaboration améliorée

GDBFrontend dispose d'un ensemble de fonctionnalités de collaboration appelé « Collaboration améliorée ».

Dessin collaboratif

Le dessin collaboratif est disponible lorsque vous activez la Collaboration améliorée. Cliquez sur Dessiner ou utilisez le raccourci Ctrl + Maj + X pour dessiner et Ctrl + Maj + C pour effacer tous les dessins.

Affichage source synchronisé

Avec la Collaboration améliorée, tous les clients du débogueur sont synchronisés sur l'affichage source.

Explorateur de variables par popup au survol

Extensibilité

GDBFrontend est très extensible et dispose d'API puissantes. Quelques exemples de l'extensibilité de GDBFrontend.

./gdbfrontend

root@kitploit:~
$ gdbfrontend --help
GDBFrontend is a easy, flexible and extensionable gui debugger.

Options:
  --help, -h:                                   Shows this help message.
  --version, -v:                                Shows version.
  --gdb-args="ARGS", -G "ARGS":                 Specifies GDB command line arguments. (Optional)
  --gdb-executable=PATH, -g PATH:               Specifies GDB executable path (Default is "gdb" command on PATH environment variable.)
  --tmux-executable=PATH, -tmux PATH:           Specifies Tmux executable path (Default is "tmux" command on PATH environment variable.)
  --terminal-id=NAME, -t NAME:                  Specifies tmux terminal identifier name (Default is "gdb-frontend".)
  --credentials=USER:PASS, -c USER:PASS:        Specifies username and password for accessing to debugger.
  --host=IP, -H IP:                             Specifies current host address that you can access via for HTTP and WS servers.
  --listen=IP, -l IP:                           Specifies listen address for HTTP and WS servers.
  --port=PORT, -p PORT:                         Specifies HTTP port. (0 for random port.)
  --url-base=PATH, -u PATH:                     Specifies URL base path. (Default: /)
  --readonly, -r:                               Makes code editor readonly. (Notice: This option is not related to security.)
  --workdir, -w:                                Specifies working directory.
  --plugin-dir, -P:                             Specifies plugins directory.
  --dontopenuionstartup, -D:                    Avoids opening UI just after startup.
  --verbose, -V:                                Enables verbose output.

Options

--help, -h

Affiche le texte d'aide.

--version, -v

Affiche la version.

--gdb-args="ARGS", -G "ARGS"

Spécifie les arguments de ligne de commande GDB. (Optionnel)

--gdb-executable=PATH, -g PATH

Vous pouvez spécifier le chemin de l'exécutable GDB comme gdbfrontend --gdb-executable=/chemin/vers/gdb. (Optionnel)

--tmux-executable=PATH, -tmux PATH

Vous pouvez spécifier le chemin de l'exécutable Tmux comme gdbfrontend --tmux-executable=/chemin/vers/tmux. (Optionnel)

--terminal-id=PATH, -t PATH

Vous pouvez spécifier l'identifiant du terminal Tmux comme gdbfrontend --terminal-id=nom-terminal. (Par défaut : gdb-frontend)

--credentials=USER:PASS, -c USER:PASS

Spécifie le nom d'utilisateur et le mot de passe pour accéder au débogueur.

--host=IP, -H IP

Spécifie l'adresse hôte actuelle à laquelle vous pouvez accéder pour les serveurs HTTP et WS.

--listen=IP, -l IP

Spécifie l'adresse d'écoute pour les serveurs HTTP et WS.

--port=PORT, -p PORT

Spécifie le port HTTP. (0 pour un port aléatoire.)

--url-base=PATH, -u PATH

Spécifie le chemin de base de l'URL. (Par défaut : /)

--readonly, -r

Rend l'éditeur de code en lecture seule. (Remarque : Cette option n'est pas liée à la sécurité.)

--workdir, -w

Spécifie le répertoire de travail.

--plugin-dir, -P

Spécifie le répertoire des plugins.

--dontopenuionstartup, -D

Évite d'ouvrir l'interface juste après le démarrage.

--verbose, -V

Active la sortie détaillée.

Commandes GDB

Les commandes GDB de GDBFrontend commencent par gf-.

gf-refresh

Rafraîchit tous les clients du navigateur.

gf-theme [theme-name]

Passe au thème souhaité. Par exemple : gf-theme light, gf-theme red ou gf-theme default pour le thème par défaut.

gf-list-plugins

Liste tous les plugins GDBFrontend dans le répertoire des plugins.

gf-load-plugin [plugin-name]

Charge un plugin GDBFrontend.

gf-unload-plugin [plugin-name]

Décharge un plugin GDBFrontend.

Raccourcis / Touches de raccourci

Les touches de raccourci actuelles sont listées ci-dessous.

Thèmes

GDBFrontend dispose de thèmes intégrés.

Pour basculer entre les thèmes, utilisez la commande gf-theme [THEME] dans le shell GDB.

root@kitploit:~
(gdb) gf-theme doki
(gdb) gf-theme sky
(gdb) gf-theme sakura
(gdb) gf-theme waifu
(gdb) gf-theme cyberpunk
(gdb) gf-theme dark
(gdb) gf-theme green
(gdb) gf-theme light
(gdb) gf-theme red

Pour revenir au thème par défaut.

root@kitploit:~
(gdb) gf-theme

Vous pouvez également consulter le Tutoriel de développement de plugins.

API Python de GDBFrontend

Vous pouvez accéder à l'API Python de GDBFrontend via le module gdbfrontend.

root@kitploit:~
(gdb) python-interactive
root@kitploit:~
>>> dir(gdbfrontend)

Par exemple, vous pouvez obtenir tous les sockets clients comme ceci :

root@kitploit:~
>>> gdbfrontend.api.globalvars.httpServer.ws_clients
{1: <server.GDBFrontendSocket object at 0x...>}

ou vous pouvez obtenir tous les plugins :

root@kitploit:~
>>> gdbfrontend.plugin.getAll()
['hello', 'theme_cyberpunk', 'theme_dark', 'theme_doki', 'theme_green', 'theme_light', 'theme_red', 'theme_sakura', 'theme_sky', 'theme_waifu']

Sécurité avec le partage de sessions

Vous pouvez utiliser l'option --credentials=USER:PASS pour ajouter une authentification HTTP à votre session de débogage.

Compatibilité des navigateurs

GDBFrontend est principalement développé et testé sur les navigateurs basés sur Chromium. Il fonctionnera correctement avec d'autres navigateurs, notamment Firefox, mais si vous rencontrez des problèmes sur d'autres navigateurs, vous pouvez envoyer un rapport de bogue.

Dépannage

Blocage du shell/thread principal de GDB

La plupart des fonctions de GDBFrontend sont thread-safe et travaillent sur le thread principal de GDB. Donc, si vous exécutez quelque chose qui bloque sur le shell GDB, les fonctions de GDBFrontend doivent attendre qu'il se termine.

Vous obtiendrez cet avertissement lorsqu'une fonction thread-safe de GDBFrontend doit fonctionner et que vous bloquez le thread principal de GDB.

root@kitploit:~
(gdb) shell
$ ...

Lorsque vous quittez le shell, les fonctions bloquantes de GDBFrontend continueront de fonctionner.

Remarque : Parfois, vous pouvez recevoir cet avertissement sans rien exécuter dans le shell GDB, cela signifie que quelque chose (dans la boucle d'événements de GDB) prend beaucoup de temps ; dans ce cas, ignorez simplement cet avertissement.

Processus zombies

GDBFrontend envoie SIGTERM à ses sous-processus, à votre application et à ses sous-processus. Si votre application crée de nouveaux processus et définit leurs PGID, GDBFrontend peut ne pas les fermer. Dans ce cas, vous devez envoyer SIGKILL à vos processus.

root@kitploit:~
pkill -f gdb

Conseils de performance pour l'évaluateur d'expression

Si vous utilisez ExpressionEvaluator avec des variables/membres développés à une très grande profondeur, les performances de défilement et de déplacement de la fenêtre de l'évaluateur peuvent être affectées négativement pour la visualisation des pointeurs. Dans cette situation, vous pouvez désactiver les pointages signal et slot pour cette fenêtre d'évaluation.

Boutons de pointage de l'évaluateur

Problèmes et conseils liés à GDB

  • GDB peut ne pas fournir les sources d'un objet lié dynamiquement tant que vous n'avez pas exécuté pas à pas une ligne qui appelle une fonction de l'objet lié dynamiquement une fois. Vous pouvez ajouter un point d'arrêt sur une ligne et l'exécuter pas à pas une fois, puis vous verrez les sources de l'objet lié dynamiquement par la suite pendant la session.

Windows

En fait, gdb-frontend peut fonctionner sous Windows mais il y a quelques problèmes sérieux dans la version Windows de GDB qui empêchent d'utiliser gdb-frontend sous Windows. Bien sûr, vous pouvez utiliser gdb-frontend sur WSL si vous utilisez Windows 10.

Problèmes avec Windows-GDB

  • Le thread principal de GDB est bloqué pendant l'exécution du processus. (gdb-frontend dispose d'un mécanisme d'interruption pour corriger cela mais il n'est pas encore suffisant.)
  • L'invite de Windows-GDB est bloquée pendant l'exécution du processus et il y a quelques problèmes concernant l'interruption de l'application.

WSL

Vous pouvez utiliser gdb-frontend sur WSL (Windows Subsystem for Linux).

Problèmes avec WSL

  • Sur WSL 1, l'option de port aléatoire n'est pas utilisable sur WSL car l'interface /proc/net/tcp ne fonctionne pas sur WSL. (WSL 2 n'a pas ce problème.)

Gestion des versions

Depuis v0.2.0-beta, GDBFrontend a adopté une nouvelle stratégie de gestion des versions.

Lecture des versions

Dans vX.Y.Z-STABILITÉ :

  • X est la version majeure, change à long terme avec des fonctionnalités et améliorations majeures.
  • Y est la version principale qui inclut de nouvelles fonctionnalités et améliorations.
  • Z est une version corrective des versions principales.
  • STABILITÉ est le niveau de stabilité de la version. (alpha, beta, rcN, stable)

Documentation

La documentation est encore à faire.

Documentation de l'API

La documentation de l'API est encore à faire.

Développement de plugins

Vous pouvez lire le Tutoriel de développement de plugins.

Développement de thèmes

Les thèmes sont développés comme des plugins.

Discord

Rejoignez la communauté Discord.

GDBFrontend Discord

🎊 Contribuer

Vous pouvez contribuer en faisant des commits sur le projet ou en développant un plugin. Tous les commits sont les bienvenus.

Guide de contribution

❤️ Faire un don

  • Patreon
  • GitHub Sponsors

Dons en cryptomonnaie

CurrencyAddress
BTCbc1qhvlc762kwuzeawedl9a8z0duhs8449nwwc35e2
ETH / USDT / USDC0x1D99B2a2D85C34d478dD8519792e82B18f861974
XMR88qvS4sfUnLZ7nehFrz3PG1pWovvEgprcUhkmVLaiL8PVAFgfHjspjKPLhWLj3DUcm92rwNQENbJ1ZbvESdukWvh3epBUty

De préférence, il est recommandé de faire un don en USDT ou USDC, mais vous pouvez faire un don dans n'importe quelle devise ci-dessus. 🥳

Licence

Copyright (C) 2019, Oğuzhan Eroğlu [email protected] (https://oguzhaneroglu.com/)

GNU General Public License v3 (GPL-3)

Vous pouvez copier, distribuer et modifier le logiciel tant que vous suivez les modifications/dates dans les fichiers sources. Toute modification ou logiciel incluant (via un compilateur) du code sous licence GPL doit également être mis à disposition sous la GPL avec les instructions de construction et d'installation.

Télécharger l’outil
ActionTouche de raccourciContexte
Général : Ouvrir un fichier sourceCtrl + OGDBFrontend
Général : Nouvel évaluateur d'expressionCtrl + RGDBFrontend
Général : Nouvel évaluateur d'expression dans une fenêtre nativeCtrl + Maj + RGDBFrontend
Général : Recherche floue de sourceCtrl + PGDBFrontend
Exécution : LancerF5GDBFrontend
Exécution : ContinuerF6GDBFrontend
Exécution : Pause/InterruptionF7GDBFrontend
Exécution : Pas à pas principalF8GDBFrontend
Exécution : Pas à pas détailléF9GDBFrontend
Exécution : Instruction pas à pasF10GDBFrontend
Exécution : ArrêterF11GDBFrontend
Collaboration améliorée : Activer/désactiver le mode dessinCtrl + Maj + XGDBFrontend / Collaboration améliorée : Activée
Collaboration améliorée : Effacer tous les dessinsCtrl + Maj + CGDBFrontend / Collaboration améliorée : Activée