Un éditeur hexadécimal pour les reverse engineers, les programmeurs et ceux qui travaillent à 3 h du matin
Support
- Soutien possible via GitHub Sponsors, Patreon et PayPal
Captures d’écran
- Captures d’écran supplémentaires disponibles
Fonctionnalités
Affichage hexadécimal riche
- Patching d’octets, gestion des patchs, Undo/Redo illimité
- Copie des octets dans divers formats
- Recherche simple de chaînes et en hexadécimal
- Aller au début, à la fin ou à la position actuelle du curseur
- Mise en surbrillance variée
- Affichage dans différents types de données
- Décodage des données en ASCII et avec des encodages personnalisés
- Affichage des données par pages
Langage de motifs proche du C++
- Chargement automatique basé sur le type MIME et les valeurs magiques
- Prise en charge de la visualisation de divers types de données
- Messages d’erreur utiles, coloration syntaxique et affichage des erreurs
Prise en charge des thèmes
- Mode nuit par défaut, prise en charge des couleurs et styles personnalisés
- Prise en charge des polices personnalisées
Importation et exportation de données
- Fichiers Base64, patchs IPS et IPS32, rapports Markdown
Inspecteur de données
- Interprétation des données dans divers types
- Copie et modification des octets
- Prise en charge de l’ajout de nouveaux types de données
Préprocesseur de données basé sur des nœuds
- Modification, déchiffrement et décodage des données
- Prise en charge de l’ajout de nœuds personnalisés
Chargement de diverses sources de données
- Fichiers locaux, disque brut, serveur GDB, données Intel Hex et Motorola SREC, mémoire de processus
Recherche de données
- Recherche dans tout le fichier ou dans la zone sélectionnée
- Extraction de chaînes, recherche de séquences, recherche par expression régulière, motifs binaires, recherche de valeurs numériques
Prise en charge du hachage des données
- Utilisation de divers algorithmes
- Hachage de zones spécifiques et de chaînes arbitraires
Prise en charge du diff
- Comparaison de différentes sources de données
- Mise en surbrillance des différences et affichage en tableau
Désassembleur intégré
- Prise en charge de toutes les architectures supportées par Capstone
Signets
- Prise en charge de noms et couleurs personnalisés
- Mise en surbrillance des zones de signet et navigation vers les signets
Analyseur de données et outils de visualisation
- Parseur de fichiers basé sur la magie des fichiers et base de données de types MIME
- Graphique de distribution des types d’octets, graphique d’entropie
Prise en charge des règles YARA
- Analyse des fichiers avec les règles YARA officielles
- Mise en surbrillance des correspondances et navigation vers les correspondances
Outils utiles
- Divers démangleurs, table ASCII, remplaceur d’expressions régulières, évaluateur d’expressions mathématiques, calculatrice graphique, sélecteur de couleurs, convertisseur de bases, byte swapper, calculateur de permissions UNIX, recherche de définitions de termes sur Wikipedia, utilitaires de fichiers, visualiseur de flottants IEEE754, client/serveur TCP, calculateur de l’algorithme d’Euclide
Mises à jour de contenu intégrées
- Téléchargement de fichiers depuis la base de données
Interface moderne
- Prise en charge de plusieurs espaces de travail et de dispositions personnalisées
- Fenêtres détachables
Facile à prendre en main
- Prise en charge de nombreuses langues, mode simplifié pour les débutants, documentation étendue, nombreux fichiers d’exemple dans la base de données, tutoriel interactif
Langage de motifs
- Définition de structures et de types de données avec une syntaxe proche du C
- Analyse et mise en surbrillance du contenu des fichiers
Base de données
- Motifs de formats, bibliothèques, fichiers magiques et constantes
Exigences
- GPU requis, avec prise en charge d’OpenGL 3.0
- Compatible avec Windows, macOS et Linux
Installation
- Voir le guide d’installation
Compilation
- GCC ou Clang requis, avec prise en charge de C++23 ou supérieur
Contribution
- Voir le guide de contribution
Développement de plugins
- Utiliser le projet modèle
Crédits
- Remerciements aux principaux contributeurs et aux bibliothèques utilisées
Licence
- Majoritairement sous licence GPLv2-only, avec certaines parties sous licence LGPLv2.1
L’avis de GN⁺
- ImHex est un outil très utile pour les travaux de reverse engineering et de programmation. Il se distingue particulièrement par ses capacités de visualisation et d’analyse de divers types de données.
- Il propose des fonctions conviviales comme le mode nuit, qui peuvent réduire la fatigue visuelle lors de longues sessions de travail.
- Grâce à sa compatibilité avec diverses sources de données, il peut être utilisé dans de nombreux environnements.
- Parmi les autres outils offrant des fonctions similaires, on peut citer HxD et 010 Editor.
- Lorsqu’on adopte une nouvelle technologie ou un projet open source, il faut examiner attentivement ses avantages et ses inconvénients. Dans le cas d’ImHex, la prise en charge du GPU est indispensable.
1 commentaires
Avis Hacker News
ImHex est le meilleur éditeur hexadécimal que j’aie utilisé jusqu’à présent
Je me demande s’il existe un moyen pour cet éditeur d’afficher les octets ASCII avec les glyphes CP437
J’ai essayé ImHex, mais c’était trop complexe
Le langage de motifs est très utile et aide énormément à l’apprentissage
ImHex nécessite généralement un GPU compatible OpenGL 3.0
ImHex a l’air bien
J’aime beaucoup ce domaine de la culture informatique
Ce projet est excellent
Pour l’instant, je vais continuer à utiliser 010 Editor
Ce projet a l’air plutôt cool