É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"
PDF 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

  1. 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.
  2. 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.
  3. 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.
  4. 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é.
  5. 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

Oui. Chargez le fichier et comparez ses premiers octets au tableau des "signatures de fichiers courantes" ci-dessus. Si un fichier nommé `.txt` commence en réalité par FF D8 FF, il s'agit très probablement d'une image JPEG, quelle que soit son extension.

Afficher d'un seul coup un fichier de plusieurs centaines de mégaoctets, voire plusieurs gigaoctets, sous forme de vidage hexadécimal risquerait de figer ou de faire planter l'onglet du navigateur en raison du nombre considérable d'éléments DOM générés. Limiter l'affichage aux premiers 64Ko permet de traiter en toute sécurité et sans latence les cas d'usage courants, comme l'inspection des en-têtes de fichier.

Si le contenu affiché a été tronqué aux premiers 64Ko, seul ce contenu sera inclus dans le téléchargement (tout ce qui dépasse n'est pas conservé). Pour les fichiers de 64Ko ou moins, tout est téléchargé à l'identique de l'original, à l'exception des octets que vous avez modifiés.

Non. Le chargement, l'affichage, l'édition et le téléchargement du fichier se déroulent entièrement en JavaScript dans votre navigateur ; le contenu du fichier n'est jamais transmis où que ce soit.
Tool-kun

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.