Hexter

Comment ouvrir et lire un fichier binaire sur Mac

Vous avez un fichier sans extension utile, ou que macOS ne reconnaît pas, un .bin, une image firmware, une vieille sauvegarde de jeu, quelque chose exporté par un appareil. Double-cliquez dessus et soit rien ne se passe, soit il s’ouvre dans TextEdit comme un mur de caractères cassés. Vous voulez savoir comment ouvrir un fichier binaire sur Mac sans deviner et sans risquer le fichier lui-même.

Pourquoi le double-clic ne fonctionne pas

macOS décide comment ouvrir un fichier d’après son extension et, à défaut, une estimation de son type. Les fichiers binaires, ceux qui stockent des données brutes plutôt que du texte, n’ont pas d’extension standard que le système reconnaît, alors macOS refuse de les ouvrir ou les confie à l’application qu’il juge la plus proche. En général, c’est TextEdit, qui tente de décoder les octets comme du texte et vous montre surtout des symboles illisibles, avec de temps en temps un vrai mot qui perce.

Cet effet de mot lisible au milieu du bruit n’est pas une illusion. Les fichiers binaires contiennent souvent du texte intégré (chemins de fichiers, étiquettes, chaînes de version) même si les données qui l’entourent sont réellement binaires. TextEdit affiche le tout comme du texte, d’où cet aspect mi-brouillé, mi-familier. Cela ne vous montre en réalité rien d’utile, et si vous enregistrez depuis TextEdit par accident, vous pouvez corrompre le fichier.

Ce que vous voulez vraiment : une vue hexadécimale

Un fichier binaire n’est qu’une suite d’octets, chacun étant un nombre de 0 à 255. La façon standard de les consulter en toute sécurité est une vue hexadécimale : chaque octet affiché comme une valeur hexadécimale à deux caractères (00 à FF), aligné en rangées à côté d’une colonne d’offset (où vous êtes dans le fichier) et d’une colonne de texte (les mêmes octets interprétés en ASCII, pour les parties lisibles). C’est ce que vous offre un éditeur hexadécimal, et c’est la seule vue qui vous montre le contenu réel sans deviner un format.

Trois façons d’y parvenir

Le Terminal, avec xxd ou hexdump. macOS fournit les deux. Lancez xxd yourfile.bin | less et vous obtenez un vidage hexadécimal défilable directement dans le Terminal. C’est rapide et toujours disponible, mais c’est en lecture seule, sans recherche, sans saut à l’offset, et sans interprétation de ce que vous regardez au-delà de l’hexadécimal brut. Correct pour un coup d’œil rapide, malcommode pour quoi que ce soit de plus.

TextEdit ou un autre éditeur de texte. Non. Comme dit plus haut, il décode les octets comme du texte, ce qui est le mauvais prisme pour des données binaires, et il y a un vrai risque de corrompre silencieusement le fichier s’il est enregistré.

Un éditeur hexadécimal dédié. C’est le bon outil si vous faites plus qu’un coup d’œil de cinq secondes : parcourir un gros fichier, rechercher un motif d’octets précis, sauter à un offset connu, ou vérifier ce qu’un groupe d’octets représente réellement (un nombre, une date, une couleur, une chaîne dans un autre encodage). Hexter est conçu exactement pour cela. Il ouvre chaque fichier en lecture seule par défaut, donc consulter un fichier binaire inconnu ne risque pas de le modifier. Les fichiers s’ouvrent instantanément quelle que soit leur taille, car Hexter lit les octets à la demande plutôt que de charger le fichier entier en mémoire.

Étape par étape

  1. Ouvrez le fichier. Faites-le glisser sur Hexter, ou utilisez Fichier > Ouvrir. Nul besoin de deviner d’abord un type de fichier ; Hexter ouvre tout comme des octets bruts.
  2. Lisez la disposition. La colonne d’offset à gauche vous indique où vous êtes dans le fichier. La grille hexadécimale au centre montre chaque octet sous forme de deux caractères hexadécimaux. Le volet de texte à droite montre les mêmes octets en ASCII, pour les parties du fichier qui sont du texte réel.
  3. Sautez à un offset précis avec ⌘J si vous savez déjà où regarder, au lieu de faire défiler.
  4. Sélectionnez des octets pour les inspecter. Sélectionner une plage vous montre ces données interprétées comme différents types numériques (entiers de 8, 16, 32 ou 64 bits, signés ou non, dans l’un ou l’autre ordre d’octets) dans la barre latérale Inspecteur. C’est ainsi que vous déterminez si quatre octets sont une taille de fichier, un horodatage, ou autre chose.
  5. Recherchez avec ⌘F si vous cherchez une chaîne ou une séquence d’octets précise plutôt que de faire défiler à la main.
  6. N’activez l’édition que si vous devez réellement changer quelque chose. Hexter garde les fichiers en lecture seule jusqu’à ce que vous activiez explicitement l’édition, et même alors, les changements restent dans une couche de correctifs réversible jusqu’à ce que vous décidiez d’enregistrer. Rien de ce que vous faites en simple consultation ne peut toucher le fichier original.

S’il s’avère que le fichier est un format que Hexter reconnaît structurellement, PNG, ZIP, Mach-O, WAV ou SQLite, l’onglet Analyser en extraira la structure réelle (frontières des chunks, en-têtes, champs) à côté des octets bruts, pour que vous obteniez plus que de l’hexadécimal.

Voilà tout le flux de travail : ouvrir, lire les trois colonnes, sauter ou rechercher pour arriver où vous avez besoin, et inspecter une sélection quand vous devez savoir ce qu’une suite d’octets précise signifie vraiment. Aucune supposition, et rien en danger tant que vous ne le décidez pas.