Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
gdb-frontend — ☕ GDBFrontend é um depurador GUI fácil, flexível e extensível. | Kitploit
Ferramentas/GitHubGitHub/rohanrhu/gdb-frontend
Engenharia ReversaDepuradoresAnálise de BináriosAprendizado e Educação
GitHubrohanrhu/gdb-frontend

gdb-frontend

☕ GDBFrontend é um depurador GUI fácil, flexível e extensível.

Ver Repositório
3.0k112há 9 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

GDBFrontend

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

GDBFrontend é um depurador gráfico fácil, flexível e extensível.

gdb-frontend

Instalação

Requisitos

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

Pacote PIP (Python Wheel) [Recomendado]

Você pode instalar o GDBFrontend com pip.

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

se já estiver instalado e você estiver atualizando

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

ou se quiser instalar um snapshot específico do GIT:

root@kitploit:~
sudo python3 setup.py install

e você pode executar

root@kitploit:~
gdbfrontend

Executando a partir do GIT

Você pode baixar a fonte mais recente e executá-la.

Você pode executar o gdb-frontend com os seguintes comandos:

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

e você pode abri-lo com:

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

Você pode abrir o shell do GDB com o comando:

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

Arch Linux (AUR)

Você pode instalar o pacote Arch Linux para distribuições baseadas em Arch. (Pacote AUR)

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

e você pode executá-lo:

root@kitploit:~
gdbfrontend

Flatpak

O pacote Flatpak é um TODO.

Depurando aplicativos C/C++ Dockerizados com GDBFrontend

Siga este tutorial para aprender como depurar aplicativos C/C++ Dockerizados com GDBFrontend.

Depuração Embarcada com GDBFrontend

Siga este tutorial rápido para depurar dispositivos embarcados com GDBFrontend.

Depuração de Extensão C Python com GDBFrontend

Siga este tutorial rápido para depurar extensões nativas C Python com GDBFrontend.

Como desenvolver plugins GDBFrontend?

GDBFrontend possui APIs poderosas e extensíveis. Siga este tutorial rápido para aprender a desenvolver plugins GDBFrontend.

Como integrar o GDBFrontend com seu Makefile?

Siga este tutorial rápido para ideias de integração para requisitos especiais de desenvolvimento/depuração.

Depuração STM32 usando OpenOCD, GDB e GDBFrontend no Linux

Siga este tutorial para depurar STM32 com OpenOCD e GDBFrontend.

Funcionalidades

Avaliador de Expressões

GDBFrontend possui um avaliador de expressões que você pode usar múltiplos ao mesmo tempo.

Visualização de Ponteiros

Visualização de Lista Encadeada

Breakpoints Condicionais

Clique com o botão direito em um breakpoint para definir sua condição.

Expressões Conectadas

As expressões de todas as variáveis, membros e itens estão conectadas no VariablesExplorer do GDBFrontend.

Gerenciador de Processos

Você pode visualizar, filtrar ou gerenciar processos com o Gerenciador de Processos.

Visualização de Grafo de Array

Colaboração Aprimorada

GDBFrontend possui um conjunto de recursos para colaboração chamado "Colaboração Aprimorada".

Desenho de Colaboração

O desenho de colaboração está disponível quando você ativa a Colaboração Aprimorada. Clique em Desenhar ou use o atalho Ctrl + Shift + X para desenhar e Ctrl + Shift + C para limpar todos os desenhos.

Visualização Sincronizada de Código Fonte

Com a Colaboração Aprimorada, todos os clientes do depurador são sincronizados na visualização do código fonte.

Explorador de variáveis popup ao passar o mouse sobre expressões

Extensibilidade

GDBFrontend é muito extensível e possui APIs poderosas. Alguns exemplos da extensibilidade do 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.

Opções

--help, -h

Mostra texto de ajuda.

--version, -v

Mostra a versão.

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

Especifica argumentos de linha de comando do GDB. (Opcional)

--gdb-executable=PATH, -g PATH

Você pode especificar o caminho do executável do GDB como gdbfrontend --gdb-executable=/path/to/gdb. (Opcional)

--tmux-executable=PATH, -tmux PATH

Você pode especificar o caminho do executável do Tmux como gdbfrontend --tmux-executable=/path/to/tmux. (Opcional)

--terminal-id=PATH, -t PATH

Você pode especificar o ID do terminal do Tmux como gdbfrontend --terminal-id=terminal-name. (Padrão: gdb-frontend)

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

Especifica nome de usuário e senha para acessar o depurador.

--host=IP, -H IP

Especifica o endereço do host atual que você pode acessar através dos servidores HTTP e WS.

--listen=IP, -l IP

Especifica o endereço de escuta para servidores HTTP e WS.

--port=PORT, -p PORT

Especifica a porta HTTP. (0 para porta aleatória.)

--url-base=PATH, -u PATH

Especifica o caminho base da URL. (Padrão: /)

--readonly, -r

Torna o editor de código somente leitura. (Aviso: Esta opção não está relacionada à segurança.)

--workdir, -w

Especifica o diretório de trabalho.

--plugin-dir, -P

Especifica o diretório de plugins.

--dontopenuionstartup, -D

Evita abrir a interface do usuário logo após a inicialização.

--verbose, -V

Habilita saída detalhada.

Comandos GDB

Os comandos GDB do GDBFrontend começam com gf-.

gf-refresh

Atualiza todos os clientes do navegador.

gf-theme [nome-do-tema]

Muda para o tema desejado. Por exemplo: gf-theme light, gf-theme red ou gf-theme default para o tema padrão.

gf-list-plugins

Lista todos os plugins do GDBFrontend no diretório de plugins.

gf-load-plugin [nome-do-plugin]

Carrega um plugin do GDBFrontend.

gf-unload-plugin [nome-do-plugin]

Descarrega um plugin do GDBFrontend.

Atalhos / Teclas de Atalho

As teclas de atalho atuais estão listadas abaixo.

Temas

GDBFrontend possui temas embutidos.

Para alternar entre temas, use o comando gf-theme [TEMA] no shell do 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

Para voltar ao tema padrão.

root@kitploit:~
(gdb) gf-theme

Você também pode querer ver o Tutorial de Desenvolvimento de Plugins.

API Python do GDBFrontend

Você pode acessar a API Python do GDBFrontend através do módulo gdbfrontend.

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

Por exemplo, você pode obter todos os sockets do cliente assim:

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

ou você pode obter todos os 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']

Segurança com Compartilhamento de Sessões

Você pode usar a opção --credentials=USER:PASS para adicionar autenticação HTTP à sua sessão de depuração.

Compatibilidade com Navegadores

GDBFrontend é desenvolvido principalmente com testes em navegadores baseados em Chromium. Funcionará adequadamente com outros navegadores, especialmente com Firefox, mas se você enfrentar alguns problemas em outros navegadores, pode enviar um relatório de bug.

Solução de Problemas

Bloqueio do shell/thread principal do GDB

A maioria das funções do GDBFrontend são thread-safe e funcionam na thread principal do GDB. Portanto, se você executar algo que esteja bloqueando no shell do GDB, as funções do GDBFrontend terão que esperar até que termine.

Você receberá este aviso quando uma função thread-safe do GDBFrontend precisar funcionar e você estiver bloqueando a thread principal do GDB.

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

Quando você sair do shell, as funções bloqueantes do GDBFrontend continuarão funcionando.

Nota: Às vezes você pode receber este aviso sem executar nada no shell do GDB, significa que algo (no loop de eventos do GDB) está demorando muito; nesse caso, ignore este aviso.

Processos Zumbis

GDBFrontend envia SIGTERM para seus subprocessos, sua aplicação e seus subprocessos. Se sua aplicação estiver criando novos processos e definindo seus PGIDs, o GDBFrontend pode não fechá-los. Nesse caso, você deve enviar SIGKILL para seus processos.

root@kitploit:~
pkill -f gdb

Dicas de Desempenho do Avaliador de Expressões

Se você estiver usando o Avaliador de Expressões com variáveis/membros expandidos em profundidade muito longa, o desempenho de rolagem e movimentação da janela do avaliador pode ser afetado negativamente para a visualização de ponteiros. Nesta situação, você pode desativar as marcações de sinal e slot para essa janela do avaliador.

Botões de Visualização de Ponteiros do Avaliador

Problemas e Dicas Relacionados ao GDB

  • O GDB pode não fornecer fontes de objeto vinculado dinamicamente até executar uma linha que chama uma função do objeto vinculado dinamicamente uma vez. Você pode adicionar um breakpoint em uma linha e executá-la passo a passo uma vez; então você verá fontes do objeto vinculado dinamicamente daqui em diante durante a sessão.

Windows

Na verdade, o gdb-frontend é capaz de rodar no Windows, mas existem alguns problemas sérios na versão Windows do GDB que impedem o uso do gdb-frontend no Windows. Claro que você pode usar o gdb-frontend no WSL se estiver usando Windows 10.

Problemas com o Windows-GDB

  • A thread principal do GDB está sendo bloqueada durante a execução do processo. (o gdb-frontend tem um mecanismo de interrupção para corrigir isso, mas ainda não é suficiente.)
  • O prompt do Windows-GDB está sendo bloqueado durante a execução do processo e existem alguns problemas em interromper a aplicação.

WSL

Você pode usar o gdb-frontend no WSL (Subsistema Windows para Linux).

Problemas com o WSL

  • No WSL 1, a opção de porta aleatória não é utilizável no WSL porque a interface /proc/net/tcp não funciona no WSL. (WSL 2 não tem esse problema.)

Versionamento

Desde a v0.2.0-beta, o GDBFrontend mudou para uma nova estratégia de versionamento.

Leitura de Versões

Em vX.Y.Z-STABILITY:

  • X são versões principais, mudanças de longo prazo com grandes funcionalidades e melhorias.
  • Y são versões principais que incluem novas funcionalidades e melhorias.
  • Z são lançamentos de correção de bugs das versões principais.
  • STABILITY é o nível de estabilidade do lançamento. (alpha,beta,rcN,stable)

Documentação

A documentação é TODO ainda.

Documentação da API

A documentação da API é TODO ainda.

Desenvolvimento de Plugins

Você pode ler o Tutorial de Desenvolvimento de Plugins.

Desenvolvimento de Temas

Temas são desenvolvidos como plugins.

Discord

Junte-se à comunidade do Discord.

GDBFrontend Discord

🎊 Contribuindo

Você pode contribuir fazendo commits no projeto ou desenvolvendo um plugin. Todos os commits são bem-vindos.

Guia de Contribuição

❤️ Doe

  • Patreon
  • GitHub Sponsors

Doações em Criptomoedas

MoedaEndereço
BTCbc1qhvlc762kwuzeawedl9a8z0duhs8449nwwc35e2
ETH / USDT / USDC0x1D99B2a2D85C34d478dD8519792e82B18f861974
XMR88qvS4sfUnLZ7nehFrz3PG1pWovvEgprcUhkmVLaiL8PVAFgfHjspjKPLhWLj3DUcm92rwNQENbJ1ZbvESdukWvh3epBUty

De preferência, doar USDT ou USDC é recomendado, mas você pode doar qualquer uma das moedas acima. 🥳

Licença

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

Licença Pública Geral GNU v3 (GPL-3)

Você pode copiar, distribuir e modificar o software desde que mantenha o registro de alterações/datas nos arquivos fonte. Quaisquer modificações no software ou software que inclua (via compilador) código licenciado sob GPL também devem ser disponibilizados sob a GPL junto com instruções de construção e instalação.

Baixar ferramenta
AçãoTecla de AtalhoContexto
Geral: Abrir um arquivo de código fonteCtrl + OGDBFrontend
Geral: Novo Avaliador de ExpressõesCtrl + RGDBFrontend
Geral: Novo Avaliador de Expressões em janela nativaCtrl + Shift + RGDBFrontend
Geral: Localizador difuso de código fonteCtrl + PGDBFrontend
Runtime: ExecutarF5GDBFrontend
Runtime: ContinuarF6GDBFrontend
Runtime: Pausa/InterrupçãoF7GDBFrontend
Runtime: Passar por cimaF8GDBFrontend
Runtime: EntrarF9GDBFrontend
Runtime: Instrução passoF10GDBFrontend
Runtime: PararF11GDBFrontend
Colaboração Aprimorada: Alternar modo de desenhoCtrl + Shift + XGDBFrontend / Colaboração Aprimorada: Habilitada
Colaboração Aprimorada: Limpar todos os desenhosCtrl + Shift + CGDBFrontend / Colaboração Aprimorada: Habilitada