← retour aux outils back to tools

# imhex

Éditeur hexadécimal complet pour reverse engineers et analystes forensiques. Langage de motifs pour l'analyse de données, interface en thème sombre, inspecteur de données et outils de visualisation. Feature-rich hex editor for reverse engineers and forensic analysts. Pattern language for data parsing, dark theme UI, data inspector, and visualization tools.

↗ https://github.com/WerWolv/ImHex

## Overview

ImHex is a modern, feature-rich hex editor built specifically for reverse engineers. Unlike traditional hex editors, it includes a custom pattern language for defining binary file structures, a data inspector panel, entropy visualization, a built-in disassembler, and bookmarks — making it far more useful for binary analysis than simple hex editing.

## Installation

Kali Linux

    sudo apt install imhex

    # Or download from GitHub releases
    # https://github.com/WerWolv/ImHex/releases

Flatpak

    flatpak install flathub net.werwolv.ImHex

## Basic Usage

    # Open a file
    imhex file.bin
    imhex firmware.bin

Or launch and use File → Open

    imhex

## Key Features

    Hex Editor Panel:
      - View and edit bytes in hex and ASCII
      - Multi-selection, find/replace
      - Unlimited undo/redo

    Data Inspector:
      - Right panel shows value under cursor as:
        uint8, int8, uint16, int16, uint32, int32, uint64, int64
        float32, float64, ASCII, UTF-8, UTF-16

    Pattern Language:
      - Define binary structures (like structs in C)
      - Auto-parses and highlights file sections
      - Pre-made patterns for PNG, ELF, PE, ZIP, etc.

    Visualization:
      - Entropy map (detects encrypted/compressed sections)
      - Dot matrix view
      - Byte distribution histogram

    Bookmarks:
      - Annotate regions of interest
      - Share as .hexbm files

## Pattern Language Example

    // Define a custom binary structure
    struct FileHeader {
        u32 magic;
        u32 version;
        u32 data_offset;
        u32 data_size;
    };

    FileHeader header @ 0x00;

## Useful Built-in Patterns

    # Apply a pattern (Extras → Pattern Language Editor):
    # Load pre-made patterns for common formats:
    # - ELF binary structure
    # - PE/COFF Windows executable
    # - PNG image format
    # - ZIP archive format
    # - FAT filesystem

    # Patterns highlight the relevant bytes automatically
    # making it easy to navigate complex binary formats

## Entropy Analysis

    # View → Entropy:
    # Shows entropy (randomness) of file sections
    # High entropy regions (near 8.0) = encrypted or compressed
    # Low entropy = plaintext data, padding
    # Useful for:
    # - Finding encrypted sections in malware
    # - Locating compressed payloads
    # - Identifying packed executables

## Search and Navigation

    Ctrl+F       Find hex bytes or ASCII
    Ctrl+G       Go to offset/address
    Ctrl+B       Manage bookmarks
    Ctrl+D       Data inspector toggle
    Ctrl+P       Pattern language editor

## Tips

- Load PE pattern for Windows EXEs to auto-parse headers, sections, and imports
- Entropy view is the fastest way to spot packed/encrypted payloads in malware samples
- Use bookmarks to annotate interesting regions and share findings with the team
- The data inspector saves constant manual conversion from hex to integer types

Keyboard Shortcuts

    Ctrl+O      Open file
    Ctrl+S      Save
    Ctrl+F      Find
    Ctrl+G      Go to address
    Ctrl+Z      Undo
    Ctrl+Y      Redo
    Ctrl+B      Bookmarks
    Ctrl+P      Pattern editor
    Ctrl+D      Data inspector
    F1          Help

## Vue d’ensemble

ImHex est un éditeur hexadécimal moderne et complet, conçu spécifiquement pour les reverse engineers. Contrairement aux éditeurs hexadécimaux traditionnels, il inclut un langage de motifs personnalisé pour définir les structures des fichiers binaires, un panneau d’inspecteur de données, une visualisation d’entropie, un désassembleur intégré et des signets, ce qui le rend bien plus utile que le simple hex editing pour l’analyse binaire.

## Installation

    # Kali Linux
    sudo apt install imhex

    # Ou télécharger depuis les releases GitHub
    # https://github.com/WerWolv/ImHex/releases

    # Flatpak
    flatpak install flathub net.werwolv.ImHex

## Utilisation de base

    # Ouvrir un fichier
    imhex file.bin
    imhex firmware.bin

    # Ou lancer sans argument et utiliser File → Open
    imhex

## Fonctionnalités clés

    Panneau Éditeur Hexadécimal :
      - Visualiser et éditer les octets en hexadécimal et ASCII
      - Sélection multiple, rechercher/remplacer
      - Annuler/rétablir illimité

    Inspecteur de données :
      - Le panneau de droite affiche la valeur sous le curseur en :
        uint8, int8, uint16, int16, uint32, int32, uint64, int64
        float32, float64, ASCII, UTF-8, UTF-16

    Langage de motifs (Pattern Language) :
      - Définir des structures binaires (comme les structs en C)
      - Analyse et surligne automatiquement les sections du fichier
      - Motifs prédéfinis pour PNG, ELF, PE, ZIP, etc.

    Visualisation :
      - Carte d'entropie (détecte les sections chiffrées/compressées)
      - Vue en matrice de points
      - Histogramme de distribution des octets

    Signets :
      - Annoter les régions d'intérêt
      - Partager sous forme de fichiers .hexbm

## Exemple de langage de motifs

    // Définir une structure binaire personnalisée
    struct FileHeader {
        u32 magic;
        u32 version;
        u32 data_offset;
        u32 data_size;
    };

    FileHeader header @ 0x00;

## Modèles intégrés utiles

    # Appliquer un motif (Extras → Pattern Language Editor) :
    # Charger des motifs prédéfinis pour les formats courants :
    # - Structure binaire ELF
    # - Exécutable Windows PE/COFF
    # - Format d'image PNG
    # - Format d'archive ZIP
    # - Système de fichiers FAT

    # Les motifs surlignent automatiquement les octets pertinents
    # ce qui facilite la navigation dans les formats binaires complexes

## Analyse d’entropie

    # View → Entropy :
    # Affiche l'entropie (le caractère aléatoire) des sections du fichier
    # Régions à forte entropie (proche de 8.0) = chiffrées ou compressées
    # Faible entropie = données en clair, padding
    # Utile pour :
    # - Trouver des sections chiffrées dans un malware
    # - Localiser des payloads compressés
    # - Identifier des exécutables packés

## Recherche et navigation

    Ctrl+F       Rechercher des octets hexadécimaux ou de l'ASCII
    Ctrl+G       Aller à un offset/une adresse
    Ctrl+B       Gérer les signets
    Ctrl+D       Basculer l'inspecteur de données
    Ctrl+P       Éditeur de langage de motifs

## Conseils

- Charger le motif PE pour les EXE Windows afin d’analyser automatiquement les en-têtes, sections et imports
- La vue entropie est le moyen le plus rapide de repérer des payloads packés/chiffrés dans des échantillons de malware
- Utiliser les signets pour annoter les régions intéressantes et partager les découvertes avec l’équipe
- L’inspecteur de données évite les conversions manuelles constantes du hexadécimal vers les types entiers

Raccourcis clavier

    Ctrl+O      Open file
    Ctrl+S      Save
    Ctrl+F      Find
    Ctrl+G      Go to address
    Ctrl+Z      Undo
    Ctrl+Y      Redo
    Ctrl+B      Bookmarks
    Ctrl+P      Pattern editor
    Ctrl+D      Data inspector
    F1          Help