Hexter

Hexter et Hex Fiend : quel éditeur hexadécimal choisir sur Mac

Si vous avez cherché un éditeur hexadécimal sur Mac, vous êtes presque certainement tombé sur Hex Fiend. Il est gratuit, open source, et c’est la recommandation par défaut dans quasiment toutes les listes des « meilleurs éditeurs hexadécimaux pour Mac ». C’est aussi un logiciel vraiment bon. Ceci n’est pas un article du type « pourquoi notre application est meilleure ». C’est un regard honnête sur les cas où Hex Fiend reste le bon choix, et sur ceux où Hexter procède assez différemment pour que cela compte.

En résumé

Hex Fiend est un outil mature, gratuit et open source, conçu avant tout autour de la puissance brute d’édition à très grande échelle. Hexter est une application plus récente bâtie autour d’une priorité différente : rendre difficile d’endommager par accident un fichier que vous cherchez simplement à consulter. Si vous savez déjà exactement ce que vous faites et que vous avez besoin de comparer ou d’éditer confortablement des fichiers de plusieurs dizaines de gigaoctets, Hex Fiend est l’outil le plus capable pour cela aujourd’hui. Si vous voulez un éditeur hexadécimal prudent par défaut et qui comprend d’emblée les structures de fichiers courantes, c’est pour cela que Hexter est conçu.

Fonctionnalité par fonctionnalité

Hex Fiend Hexter
Prix Gratuit, open source (licence BSD) Pas encore lancé sur le Mac App Store
Gestion des fichiers volumineux Gère des fichiers jusqu’à environ 118 Go sans les charger en mémoire Lit les octets à la demande via un cache par blocs ; pas encore évalué à l’échelle de Hex Fiend
Sécurité d’édition Dispose d’un mode lecture seule explicite que vous pouvez activer ou définir par défaut, mais ce n’est pas le réglage par défaut à l’installation Ouvre chaque fichier en lecture seule, toujours, sans préférence pour changer ce comportement ; l’édition nécessite un basculement explicite, et les modifications restent dans une couche de correctifs réversible jusqu’à l’enregistrement
Protection contre l’écrasement Enregistrement standard ; aucune étape de sauvegarde intégrée n’est mentionnée dans sa documentation Écraser le fichier original demande une confirmation et propose une copie de sauvegarde automatique (un unique fichier .hexter-backup remplacé à chaque enregistrement suivant, et non un historique horodaté)
Comparaison binaire Comparaison tenant compte des insertions/suppressions ; aucune limite de taille documentée où que ce soit dans sa documentation ou ses notes de version Véritable algorithme de comparaison, mais actuellement plafonné pour les comparaisons très volumineuses, avec un résultat plus grossier au-delà de cette taille
Analyse de structure intégrée Livré avec une bibliothèque de modèles vraiment vaste (environ 17 catégories), mais vous parcourez et appliquez un modèle manuellement Les structures PNG, ZIP, Mach-O, WAV et SQLite sont détectées et analysées automatiquement à l’ouverture, sans modèle à choisir
Empreintes Pas une fonctionnalité intégrée CRC32, Adler32, MD5, SHA-1, SHA-256 et SHA-512, calculées sur le fichier en arrière-plan
Chaînes, signets, détection d’anomalies Non intégrés Tout est intégré : extraction de chaînes, signets nommés avec notes, et une analyse des pics d’entropie, des suites d’octets suspectes et des incohérences de signature de format
Interface AppKit, fonctionnelle, remonte à plus d’une décennie SwiftUI natif, mode sombre, conçu pour la version actuelle de macOS
Extensibilité Licence BSD à deux clauses, intégrable comme framework dans d’autres applications Non conçu pour être intégré ; une application autonome
Modèles binaires personnalisés Pris en charge via son système de modèles pour des formats arbitraires Pas encore pris en charge ; les cinq analyseurs intégrés couvrent les formats courants, mais il n’existe pas de langage de modèle défini par l’utilisateur

Là où Hex Fiend reste le meilleur choix

Si vous travaillez régulièrement avec des fichiers de plusieurs dizaines de gigaoctets, images firmware, images disque, gros exports de bases de données, le modèle mémoire de Hex Fiend et son historique à cette échelle sont difficiles à contester. Son outil de comparaison n’a aucune limite de taille documentée, ce qui compte si votre travail consiste à comparer de gros binaires. Il est aussi gratuit, ce qui a de la valeur en soi, et si vous construisez un outil qui doit intégrer un composant d’édition hexadécimale, sa licence BSD et sa conception en framework rendent cela possible d’une manière qu’une application autonome ne permet pas.

Hex Fiend est également déjà livré avec une bibliothèque de modèles conséquente, environ 17 catégories couvrant les exécutables, les archives, l’audio et plus encore, il ne part donc pas de zéro non plus sur les formats structurés. Si vous avez besoin d’un modèle personnalisé pour quelque chose d’obscur ou de propriétaire qui n’est pas déjà couvert, le système de modèles de Hex Fiend (et des outils comme 010 Editor ou ImHex, qui vont plus loin dans cette direction) vous y mènera. L’analyse de structure de Hexter fonctionne bien pour les cinq formats qu’elle connaît, PNG, ZIP, Mach-O, WAV, SQLite, mais elle ne vous permet pas de définir les vôtres.

Là où Hexter procède autrement

La différence fondamentale n’est pas une fonctionnalité, c’est un comportement par défaut. Hex Fiend dispose bien d’un mode lecture seule, mais vous devez savoir l’activer (ou le définir par défaut dans les préférences) ; d’emblée, il ouvre un fichier dans un mode éditable. Hexter ouvre chaque fichier en lecture seule, toujours, sans réglage pour changer cela. L’édition est quelque chose que vous activez délibérément, les changements étant conservés dans une couche de correctifs que vous pouvez examiner et annuler avant que quoi que ce soit ne touche le fichier original. Si vous passez plus de temps à consulter des fichiers qu’à les éditer, et la plupart des sessions dans un éditeur hexadécimal relèvent de l’inspection, pas de l’édition, ce comportement par défaut compte plus qu’il n’y paraît. Cela signifie qu’ouvrir un fichier inconnu, la configuration de quelqu’un d’autre, une image firmware téléchargée, un fichier que vous déboguez, ne comporte aucun risque par défaut, sans que vous ayez à penser à basculer un interrupteur au préalable.

La deuxième différence, c’est ce qui se passe automatiquement lorsque vous ouvrez un fichier que Hexter reconnaît. Au lieu d’un mur plat d’hexadécimal, vous obtenez la structure réelle : les frontières des chunks PNG avec leur type et leur CRC, les en-têtes de fichier locaux d’une archive ZIP, les commandes de chargement d’un binaire Mach-O, les champs d’en-tête d’un fichier SQLite, analysés et disposés à côté des octets bruts, sans aucune configuration. Les modèles livrés avec Hex Fiend peuvent vous donner un niveau de détail similaire, mais vous parcourez d’abord une liste de modèles et en appliquez un vous-même.

Au-delà de cela, le calcul d’empreintes, l’extraction de chaînes et la détection d’anomalies (pics d’entropie, incohérences de signature, suites d’octets suspectes) sont intégrés directement dans Hexter, là où dans l’univers de Hex Fiend ce sont généralement des outils distincts.

La recommandation honnête

Utilisez Hex Fiend si vous êtes déjà à l’aise avec les éditeurs hexadécimaux, si vous devez gérer de très gros fichiers, ou si vous voulez un outil gratuit avec un long historique et une communauté active. Utilisez Hexter si vous voulez un éditeur hexadécimal qui part du principe que vous consultez peut-être un fichier auquel vous ne faites pas encore pleinement confiance, qui choisit par défaut de ne pas y toucher, et qui vous en dit plus sur les formats courants sans aucune configuration. Aucun des deux n’a tort. Ils sont bâtis autour d’hypothèses différentes sur qui les utilise et pourquoi.

Hexter est en développement actif. Si la lecture seule par défaut, l’analyse de structure intégrée et une interface native moderne correspondent à ce que vous attendez d’un éditeur hexadécimal, c’est l’application à surveiller.