← retour aux outils back to tools

# 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-debugger

## Overview

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