> For the complete documentation index, see [llms.txt](https://sansong.gitbook.io/cyber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sansong.gitbook.io/cyber/rev/outils/gdb/introduction.md).

# Introduction

## gdb

Gdb est un *debugger* utile pour du *reverse* et du développement d'exploits.&#x20;

## gef

L'interface du gdb *old-school* est un peu austère et rend son utilisation peu agréable. Pour régler ce problème j'utilise l'extension [gdb-gef](https://github.com/hugsy/gef) qui utilise **l'API Python** pour éviter d'écrire les mêmes commandes en boucle.

Elle donne accès directement aux registres, à la pile, aux instructions en cours d'exécution, etc.

## Installation

L'installation sur une distribution Debian est classique.

```
sudo apt-get install gdb
```

Une fois gdb installé, gef s'installe avec une seule commande.

```
bash -c "$(curl -fsSL https://gef.blah.cat/sh)"
```

{% hint style="success" %}
Il faut aussi installer `curl` pour la commande précédente
{% endhint %}

## Windows

Sur Windows gdb peut être installé avec **MinGW** et lancé depuis un terminal.

```
c:\mingw\bin\gdb.exe program_to_debug.exe
```
