edb-debugger
Débogueur graphique Linux inspiré d'OllyDbg. Propose une interface graphique claire pour l'analyse binaire dynamique, le désassemblage, l'inspection mémoire, et le développement d'exploits sous Linux. Linux graphical debugger inspired by OllyDbg. Features a clean GUI for dynamic binary analysis, disassembly, memory inspection, and exploit development on Linux.
↗ https://github.com/eteran/edb-debuggerOverview
edb-debugger (Evans Debugger) is a Linux graphical debugger designed to feel like OllyDbg on Windows. It provides a visual interface for disassembly, register inspection, memory viewing, and step-through debugging — making exploit development on Linux more accessible than command-line GDB alone.
Basic Usage
Open a binary for debugging
edb --run /path/to/binary
Attach to a running process
edb --attach <PID>
Debug with arguments
edb --run /path/to/binary arg1 arg2
Open from GUI
edb
→ File → Open → select binary
Key Features
Disassembly view — live disassembly with annotations
Register view — CPU registers updated in real-time
Memory view — inspect and edit memory regions
Stack view — visual stack inspection
Breakpoints — hardware and software breakpoints
Plugins — extensible via plugin system
Debugging Commands
F9 → Run / Continue
F8 → Step over
F7 → Step into
F4 → Run to cursor
F2 → Toggle breakpoint
F12 → Return from function (step out)
Ctrl+G → Go to address
Ctrl+E → Edit memory
Setting Breakpoints
# In GUI:
# 1. Click on instruction in disassembly view
# 2. Press F2 to toggle breakpoint (red dot appears)
# 3. Press F9 to run until breakpoint
# Hardware breakpoints (break on memory access):
# Breakpoints → Hardware → Add breakpoint
Memory Inspection
# View memory regions:
# Memory → Memory Regions
# Search for pattern in memory:
# Memory → Search → hex pattern
# Dump memory to file:
# Memory → Dump → Memory Region
Plugins
# edb supports plugins for extended functionality:
# - Heap Inspector
# - ROP gadget finder
# - Entropy analysis
# - Check checksec protections
# List loaded plugins
# Plugins → Plugin Manager
vs GDB
edb pros:
- Visual interface (no need to memorize GDB commands)
- OllyDbg-like workflow familiar to Windows reversers
- Better for beginners and visual learners
GDB pros:
- More powerful scripting (Python, GDB scripts)
- PEDA/GEF extensions for exploit development
- Works over serial/remote connections
- Headless environments
Tips
- For exploit development, combine edb with checksec to understand binary protections
- Use the memory editor to test payloads without restarting (NOPsled modification)
- The heap inspector plugin helps visualize heap layout for heap exploitation
- edb works alongside pwntools scripts — attach edb to the target PID while your exploit runs
Installation
Kali Linux
sudo apt install edb-debugger
# Build from source
sudo apt install cmake libqt5* libboost-dev
git clone https://github.com/eteran/edb-debugger
cd edb-debugger
cmake -DCMAKE_BUILD_TYPE=Release .
make -j4
Vue d’ensemble
edb-debugger (Evans Debugger) est un débogueur graphique Linux conçu pour donner une sensation proche d’OllyDbg sous Windows. Il fournit une interface visuelle pour le désassemblage, l’inspection des registres, la visualisation mémoire, et le débogage pas à pas, rendant le développement d’exploits sous Linux plus accessible que GDB en ligne de commande seul.
Utilisation de base
# Ouvrir un binaire pour le déboguer
edb --run /path/to/binary
# S'attacher à un processus en cours d'exécution
edb --attach <PID>
# Déboguer avec des arguments
edb --run /path/to/binary arg1 arg2
# Ouvrir depuis l'interface graphique
edb
→ File → Open → sélectionner le binaire
Fonctionnalités clés
Vue désassemblage : désassemblage en direct avec annotations
Vue registres : registres CPU mis à jour en temps réel
Vue mémoire : inspecter et éditer des régions mémoire
Vue pile : inspection visuelle de la pile
Points d'arrêt : points d'arrêt matériels et logiciels
Plugins : extensible via un système de plugins
Commandes de débogage
F9 → Exécuter / Continuer
F8 → Pas à pas (sans entrer)
F7 → Pas à pas (avec entrée)
F4 → Exécuter jusqu'au curseur
F2 → Basculer un point d'arrêt
F12 → Retour de fonction (sortir)
Ctrl+G → Aller à une adresse
Ctrl+E → Éditer la mémoire
Poser des points d’arrêt
# Dans l'interface graphique :
# 1. Cliquer sur une instruction dans la vue de désassemblage
# 2. Appuyer sur F2 pour basculer un point d'arrêt (un point rouge apparaît)
# 3. Appuyer sur F9 pour exécuter jusqu'au point d'arrêt
# Points d'arrêt matériels (déclenchés sur accès mémoire) :
# Breakpoints → Hardware → Add breakpoint
Inspection mémoire
# Voir les régions mémoire :
# Memory → Memory Regions
# Rechercher un motif en mémoire :
# Memory → Search → motif hexadécimal
# Extraire la mémoire vers un fichier :
# Memory → Dump → Memory Region
Plugins
# edb prend en charge des plugins pour des fonctionnalités étendues :
# - Heap Inspector
# - Recherche de gadgets ROP
# - Analyse d'entropie
# - Vérification des protections avec checksec
# Lister les plugins chargés
# Plugins → Plugin Manager
Comparé à GDB
Avantages d'edb :
- Interface visuelle (pas besoin de mémoriser les commandes GDB)
- Workflow proche d'OllyDbg, familier aux reversers venant de Windows
- Meilleur pour les débutants et les apprenants visuels
Avantages de GDB :
- Scripting plus puissant (Python, scripts GDB)
- Extensions PEDA/GEF pour le développement d'exploits
- Fonctionne via des connexions série/distantes
- Environnements headless
Conseils
- Pour le développement d’exploits, combinez edb avec checksec pour comprendre les protections du binaire
- Utilisez l’éditeur de mémoire pour tester des payloads sans redémarrer (modification de NOPsled)
- Le plugin heap inspector aide à visualiser la disposition du tas pour l’exploitation heap
- edb fonctionne aux côtés de scripts pwntools : attachez edb au PID cible pendant que votre exploit s’exécute
Installation
Kali Linux
sudo apt install edb-debugger
# Build from source
sudo apt install cmake libqt5* libboost-dev
git clone https://github.com/eteran/edb-debugger
cd edb-debugger
cmake -DCMAKE_BUILD_TYPE=Release .
make -j4