Éditeur Hexadécimal Binaire | Visualiser et éditer des fichiers en hexadécimal
Déposez un fichier pour afficher son contenu octet par octet sous forme hexadécimale (hex dump). Identifiez le véritable type du fichier grâce aux octets magiques, éditez des octets individuels et téléchargez le résultat. Le fichier n'est jamais envoyé à un serveur.
Signatures de fichiers courantes (nombres magiques)
| Format | Premiers octets (hex) | Décalage | Remarque |
|---|---|---|---|
| PNG | 89 50 4E 47 0D 0A 1A 0A | 0 | Fichier image. Si les 8 octets correspondent, il s'agit presque à coup sûr d'un PNG |
| JPEG | FF D8 FF | 0 | Fichier image. Le 4e octet varie selon la variante (JFIF, Exif, etc.) |
| GIF | 47 49 46 38 39 61 / 47 49 46 38 37 61 | 0 | La chaîne ASCII "GIF89a" ou "GIF87a" |
| 25 50 44 46 2D | 0 | La chaîne ASCII "%PDF-", suivie du numéro de version | |
| ZIP / docx / xlsx / jar | 50 4B 03 04 | 0 | Format ZIP. Office Open XML et de nombreux formats d'archive sont en réalité des ZIP |
| Exécutable Windows (EXE/DLL) | 4D 5A | 0 | La chaîne ASCII "MZ", un en-tête hérité de MS-DOS encore présent dans le format PE |
| Exécutable ELF | 7F 45 4C 46 | 0 | Exécutables et bibliothèques partagées utilisés sous Linux et systèmes similaires |
Qu'est-ce qu'un éditeur hexadécimal binaire ?
Au fond, n'importe quel fichier n'est jamais qu'une suite d'octets. Un éditeur hexadécimal affiche ce contenu octet par octet sous forme de nombre hexadécimal et permet de le réécrire directement en cas de besoin. Ce sont justement les tout premiers octets qui, dans un très grand nombre de formats, renferment ce que l'on appelle des octets magiques révélant le format réel du fichier : une façon de déterminer sa vraie nature sans se fier aveuglément à son extension.
Cet outil charge les fichiers en les déposant, ou par saisie directe de valeurs hexadécimales. L'affichage, l'édition et le téléchargement se déroulent entièrement dans votre navigateur, sans que le contenu ne soit jamais envoyé à un serveur. Pour les fichiers volumineux, en revanche, seuls les premiers 64Ko sont traités : tout ce qui dépasse n'est conservé ni à l'écran ni dans le fichier téléchargé.
Comment utiliser l'éditeur hexadécimal
- Chargez le fichier Déposez un fichier dans la zone prévue, ou collez directement une suite de chiffres hexadécimaux. Les espaces et les sauts de ligne sont ignorés.
- Observez les premiers octets Il suffit de regarder la zone proche du décalage 0 et de la comparer au tableau ci-dessus pour identifier le véritable format du fichier.
- Modifiez un octet Cliquez sur une cellule hexadécimale pour changer cet octet vers une valeur comprise entre 00 et FF. La colonne ASCII se met à jour en même temps.
- Téléchargez le résultat Enregistrez le contenu modifié sous forme de fichier. L'original n'est jamais altéré, ce qui permet de tester des modifications expérimentales en toute sécurité.
- Comparez avec le tableau des signatures Revenez au tableau des signatures de fichiers courantes chaque fois que vous devez confirmer à quel format correspond une séquence d'octets donnée.
Astuces pour en tirer le meilleur parti
- Pour démasquer un fichier dont l'extension a été modifiée, comparez ses premiers octets (octets magiques) au tableau ci-dessus. L'extension n'est qu'une étiquette, alors que les octets magiques proviennent du format lui-même et sont bien plus difficiles à falsifier.
- En mode hexadécimal manuel, vous pouvez coller directement des séquences d'octets copiées depuis d'autres outils (séparées par des espaces ou des sauts de ligne, les deux fonctionnent) et les charger.
- Si vous cliquez sur la mauvaise cellule pendant l'édition, appuyez sur Échap pour annuler l'édition de cette cellule sans modifier l'octet.
- Lors du débogage d'un protocole binaire, comparez dans cet outil les octets attendus à ceux réellement envoyés ou reçus pour repérer précisément où ils divergent.
Cas d'usage de l'éditeur hexadécimal
Démasquer un fichier à l'extension falsifiée
Vérifier les premiers octets révèle si l'extension déclarée correspond réellement au format du fichier, ce qui est très utile pour examiner une pièce jointe suspecte.
Diagnostiquer un fichier corrompu
La séquence d'octets permet de savoir si l'en-tête est manquant ou si le fichier a été tronqué en cours de route, un élément clé pour juger si une récupération est envisageable.
Apprendre la spécification d'un format de fichier
Lire la documentation technique en parallèle de la séquence d'octets réelle rend la structure d'un en-tête beaucoup plus concrète.
Créer volontairement des données de test corrompues
Modifier délibérément quelques octets permet de vérifier comment une application se comporte face à un fichier anormal.
Examiner un protocole binaire octet par octet
Vous pouvez observer directement les données brutes envoyées ou reçues, sans passer par un analyseur réseau distinct.
Termes liés aux fichiers binaires
- Octet
- Une unité composée de 8 bits. En hexadécimal, elle s'écrit avec deux chiffres, de 00 à FF.
- Octets magiques
- Une séquence d'octets distinctive placée en début de fichier pour en identifier le format. On parle aussi de signature de fichier.
- Décalage (offset)
- La position d'un octet, comptée depuis le début du fichier. Généralement exprimée en hexadécimal.
- En-tête (header)
- La section placée en début de fichier qui rassemble des informations comme le format ou la taille.
- Affichage ASCII
- Une représentation où chaque octet est interprété comme un caractère, utile pour repérer du texte intégré.
- Boutisme (endianness)
- L'ordre dans lequel sont disposés les octets d'un nombre codé sur plusieurs octets. Selon le format, l'octet le plus significatif peut venir en premier ou en dernier.
- Signature de fichier
- Un autre nom pour les octets magiques : la séquence qu'un format utilise systématiquement pour s'identifier lui-même.
Questions fréquentes
FF D8 FF, il s'agit très probablement d'une image JPEG, quelle que soit son extension.
Anecdote — Pourquoi la véritable identité d'un fichier tient dans ses octets, pas dans son extension
L'extension d'un fichier n'est qu'une indication destinée au système d'exploitation pour savoir avec quelle application l'ouvrir ; c'est une étiquette qui existe indépendamment du contenu réel du fichier. Renommer `photo.jpg` en `notes.txt` ne le transforme pas en texte, et retirer l'extension d'une véritable image n'efface pas les données de l'image sous-jacente. Précisément parce que cette étiquette n'est, en somme, qu'une autodéclaration, les logiciels malveillants exploitent depuis longtemps cette faille pour déguiser des exécutables en images ou documents anodins.
Pour contourner ce problème, la plupart des formats de fichiers intègrent dans leurs premiers octets un identifiant unique, appelé octets magiques ou nombre magique. Un fichier PNG, par exemple, commence toujours par la séquence exacte de 8 octets `89 50 4E 47 0D 0A 1A 0A`, telle que définie par la spécification. Cela signifie qu'un système d'exploitation ou une application ne peut être réellement certain du format d'un fichier qu'après avoir inspecté son contenu réel, et non son nom. La commande `file` d'Unix comme la détection du type MIME des navigateurs s'appuient principalement sur la comparaison de ces octets magiques plutôt que sur l'extension.
Certaines séquences d'octets magiques recèlent une astuce historique ingénieuse. Les 8 octets du PNG incluent volontairement une séquence de fin de ligne (0D 0A), précisément pour que les transferts en mode texte, qui altèrent parfois les sauts de ligne, puissent être détectés comme corrompus. Loin d'être un simple identifiant arbitraire, cette séquence sert donc aussi de vérification d'intégrité intégrée, un petit détail qui révèle à quel point la conception des formats binaires est réfléchie.