Comparaison de données hexadécimales
Un diff hexadécimal compare les fichiers binaires comme des octets. ABDiff garde toujours la vue hexadécimale brute disponible et peut aussi afficher une vue Structure analysée pour les formats binaires reconnus.
Démarrer une comparaison hexadécimale
Glisser-déposer
- Un fichier ouvre un visualiseur hexadécimal autonome.
- Deux fichiers ouvrent un diff hexadécimal. Pour plus de deux fichiers, les deux derniers sont utilisés.
Menu Fichier
- Fichier ▸ Ouvrir dans le visualiseur hexadécimal… pour ouvrir un fichier.
- Fichier ▸ Ouvrir en diff hexadécimal… pour ouvrir deux fichiers.
- Fichier ▸ Ouvrir les fichiers actuels en hexadécimal pour ouvrir les fichiers actuels comme diff hexadécimal.
Terminal
- Un fichier :
abd --hex file - Deux fichiers :
abd --hex file1 file2
Mise en page du visualiseur hexadécimal

Le contenu est, de gauche à droite :
- Octets hexadécimaux
- Aperçu texte décodé
- Arborescence de structure, lorsqu’elle est disponible
Comparaison diff hexadécimale
La comparaison hexadécimale propose deux mises en page d’alignement :
- Décalage est le mode par défaut. Il compare l’octet
nà gauche avec l’octetnà droite. - Resynchroniser est un mode d’analyse. Il tente de récupérer l’alignement après des insertions ou suppressions, afin que les régions correspondantes suivantes puissent se réaligner.
Resynchroniser est utile lorsqu’une seule région décalée ferait sinon apparaître le reste du fichier comme modifié. Dans ce mode, une même ligne horizontale ne signifie pas toujours le même décalage absolu des deux côtés. Lorsque les régions alignées proviennent de positions brutes différentes, ABDiff affiche volontairement des décalages gauche et droit différents.
Hex et Structure
Le mode Hex brut affiche les décalages, les octets hexadécimaux et un aperçu texte décodé. Le contrôle d’encodage ne concerne que cet aperçu texte ; les octets bruts restent la source de vérité.
Lorsque ABDiff reconnaît un format binaire, il ajoute un contrôle Hex / Structure. Le mode Structure affiche les éléments de format sous forme d’arborescence avec noms d’éléments, décalages, longueurs, valeurs décodées et diagnostics de parser. La sélection d’une ligne de structure sélectionne la plage d’octets correspondante. Un double-clic sur une ligne de structure repasse en mode Hex et révèle cette plage.
Dans le visualiseur hexadécimal à un seul fichier, un fichier pris en charge peut afficher l’arborescence de structure à côté des octets hexadécimaux. Les fichiers non pris en charge utilisent toute la largeur pour l’hexadécimal brut. Dans un diff hexadécimal à deux fichiers, le mode Structure est disponible lorsqu’au moins un côté est reconnu, et Afficher uniquement les différences s’applique aux lignes de structure comme aux lignes hexadécimales brutes.
Les champs propres au format peuvent déterminer des détails comme l’ordre des octets ou le décodage du texte pour ce champ. Par exemple, les champs de structure ZIP sont analysés selon les règles ZIP, tandis que l’aperçu texte hexadécimal peut toujours être modifié avec le contrôle d’encodage.
Les formats de structure pris en charge incluent :
- Archives : 7z, GZIP, RAR, TAR, ZIP.
- Apple et données structurées : Apple binary plist, Apple bookmark, BSON, MessagePack.
- Certificats et conteneurs de sécurité : CMS, DER, PEM, PKCS#12.
- Images, audio, vidéo, couleur et conteneurs 3D : CUBE LUT, FLAC, GIF, GLB, HEIF / HEIC, JPEG, MIDI, MP3, MP4 / MOV, PNG, TIFF, WAV, WebP.
- Exécutables et fichiers objets : ELF, Mach-O, PE/COFF.
- Bases de données et captures réseau : PCAP, PCAPNG, SQLite, SQLite rollback journal, SQLite WAL.
Certains formats qui s’ouvrent normalement dans un autre visualiseur peuvent quand même être inspectés comme structure en forçant Hex. Par exemple, GIF, TIFF et WebP s’ouvrent normalement comme comparaisons d’images, et PEM s’ouvre normalement comme texte.
Options d’affichage
Dans la vue hexadécimale, utilisez le menu Présentation ou les contrôles de la barre d’outils pour ajuster l’affichage :
- Afficher uniquement les différences masque les lignes identiques pour que vous puissiez vous concentrer sur les régions modifiées. Ce n’est qu’un filtre de visibilité ; il ne change pas le mode de comparaison.
- Alignement de la comparaison permet de basculer entre Décalage et Resynchroniser.
- Octets par ligne change le nombre d’octets renvoyés sur chaque ligne : 8, 16 ou 32.
- Permuter gauche et droite inverse gauche et droite lorsque deux fichiers sont chargés.
Changer Octets par ligne ne modifie pas le résultat de diff sous-jacent.
Inspecter les octets
Cliquez sur un octet pour le sélectionner. Maj-clic, ou utilisez Maj avec les flèches, pour étendre la sélection. Dans la vue à un seul fichier, l’inspecteur du bas affiche le décalage sélectionné, la longueur, l’élément de structure correspondant et un aperçu de valeur.
Utilisez le menu de valeur ou le clic droit Copier en tant que pour inspecter ou copier les octets sélectionnés comme :
- hexadécimal espacé ou hexadécimal continu
- binaire, Base64, tableau C ou tableau Swift
- ASCII ou encodages texte Unicode et hérités pris en charge lorsque les octets se décodent proprement
- entiers et valeurs à virgule flottante lorsque la longueur sélectionnée correspond à la taille de la valeur
- GUID lorsque 16 octets sont sélectionnés
Le contrôle LE / BE définit l’interprétation little-endian ou big-endian pour les nombres multi-octets. Lorsqu’une structure analysée fixe l’ordre des octets, ABDiff affiche cet ordre et désactive les changements manuels.
Utilisez la pastille d’informations de fichier en haut à gauche pour ouvrir les métadonnées récapitulatives. Dans les fichiers structurés, le même popover inclut des métadonnées de parser comme les résumés de conteneur et des faits propres au format qui ne sont pas liés à une plage d’octets unique.
Rechercher et aller au décalage
Utilisez Édition ▸ Rechercher… pour chercher dans la
surface binaire active. En vue Hex, Rechercher comprend les recherches
d’octets : une syntaxe hexadécimale valide comme 1F 8B,
0x1F8B ou 1f-8b recherche les octets bruts,
tandis qu’un texte comme Papyrus recherche ces mêmes octets
en UTF-8 sans changer de mode. Une entrée qui ressemble à de
l’hexadécimal mais ne peut pas décrire des octets complets signale
toujours une recherche invalide au lieu de deviner.
En vue Structure, Rechercher correspond automatiquement aux noms et valeurs de structure analysés. Il n’y a pas de sélecteur de mode de recherche ; la vue active détermine la cible.
Utilisez Naviguer ▸ Aller au décalage… pour sauter à
un décalage d’octet. Les décalages sont hexadécimaux par défaut ;
utilisez 0x pour l’hexadécimal explicite, d:
pour le décimal, ou + / - pour un décalage
relatif depuis l’octet sélectionné.
Histogramme et entropie
Utilisez le bouton d’histogramme dans la barre d’outils pour inspecter la distribution des octets, l’entropie, les principales valeurs d’octets et des classifications générales comme forte entropie ou données riches en remplissage. Dans la vue hexadécimale à un seul fichier, le panneau d’histogramme peut aussi afficher une bande Carte d’entropie à côté des lignes hexadécimales pour naviguer rapidement dans le fichier.
Comportement en lecture seule
La comparaison de données hexadécimales est en lecture seule :
- Elle n’expose pas les commandes d’édition de texte.
- Elle ne prend pas en charge Enregistrer ni Enregistrer comme patch.
- La colonne de texte décodé et l’arborescence de structure sont des aides d’inspection ; les octets bruts sont la source de vérité de la comparaison.
Raccourcis clavier
| Action | Raccourci |
|---|---|
| Déplacer la sélection à gauche | ← |
| Déplacer la sélection à droite | → |
| Déplacer la sélection vers le haut ou le bas | ↑ / ↓ |
| Étendre la sélection d’octets | ⇧ plus touches fléchées |
| Passer à l’autre volet | ⇥ |
| Ramener le focus depuis le volet droit ou la structure | ⇧⇥ |
| Développer la ligne de structure sélectionnée | → |
| Réduire la ligne de structure sélectionnée | ← |