XELFViewer : visualiser et éditer les fichiers ELF sous Windows, Linux et macOS
Vous avez déjà passé une soirée entière à jongler entre readelf, objdump et un éditeur hexadécimal pour comprendre ce qui se cache réellement dans un binaire Linux ? Si oui, vous savez à quel point l'exercice peut vite tourner au casse-tête, avec trois terminaux ouverts, des sorties texte interminables et une furieuse envie de café. Bonne nouvelle : il existe un outil qui rassemble tout cela dans une interface graphique propre, rapide et gratuite. Cet outil, c'est XELFViewer, et il mérite clairement une place dans votre boîte à outils.
XELFViewer est un visualiseur et éditeur de fichiers ELF, open source et publié sous licence MIT, qui fonctionne aussi bien sous Windows que sous Linux et macOS. Derrière ce projet, on trouve un développeur bien connu de la scène du reverse engineering : horsicq, à qui l'on doit également le célèbre Detect It Easy (DIE), l'outil de référence pour identifier les compilateurs et les packers, ainsi que XPEViewer pour les fichiers PE de Windows et XMachOViewer pour les binaires Mach-O d'Apple. Autant dire que l'auteur connaît son sujet, et cela se ressent dès les premières minutes d'utilisation.
Petit rappel pour celles et ceux qui débarquent : ELF, pour Executable and Linkable Format, est le format standard des exécutables, des bibliothèques partagées, des fichiers objets et des core dumps sur les systèmes Unix et Linux. Chaque programme qui tourne sur votre serveur Debian, votre Raspberry Pi ou votre téléphone Android repose sur cette structure. Un fichier ELF contient un en-tête principal, des program headers qui décrivent comment charger le binaire en mémoire, des sections qui organisent le code et les données, des tables de symboles, des informations de liaison dynamique... Bref, une véritable petite ville intérieure, et XELFViewer vous en offre le plan détaillé.
Ouvrez un fichier ELF avec XELFViewer et l'outil vous déroule immédiatement toute son anatomie : l'en-tête ELF avec l'architecture cible, le type de fichier et le point d'entrée, les program headers, la liste des sections avec leurs adresses et leurs tailles, les tables de symboles, ou encore les bibliothèques importées via la section dynamique. Chaque champ est décodé et présenté lisiblement, là où readelf vous aurait noyé sous des colonnes de valeurs hexadécimales. Et comme il s'agit aussi d'un éditeur, vous pouvez modifier ces valeurs directement, ce qui s'avère bien pratique pour réparer un en-tête malmené ou expérimenter sur un binaire d'étude.

Interface de XELFViewer affichant la structure d'un fichier ELF - Crédit photo : © Github.com
XELFViewer embarque un désassembleur multi-architectures : x86 et x64 évidemment, mais aussi ARM, MIPS et même RISC-V. Vous pouvez donc naviguer dans le code machine d'un binaire compilé pour un objet connecté ou un routeur sans quitter votre poste de travail habituel. L'outil propose également le demangling des noms, cette opération qui transforme les symboles C++ illisibles du type _ZN4toto5helloEv en signatures compréhensibles par un être humain normalement constitué.

Fouiller le code assembleur d'un fichier ELF avec XELFViewer - Crédit photo : © Github.com
L'outil intègre aussi un éditeur hexadécimal complet, l'extraction des chaînes de caractères, le calcul d'entropie pour repérer les zones compressées ou chiffrées d'un binaire, ainsi qu'une fonction de recherche de constantes cryptographiques. Cette dernière est particulièrement utile en analyse de malwares : repérer les constantes d'AES ou de SHA-256 dans un échantillon vous indique tout de suite que celui-ci manipule de la cryptographie, et donc potentiellement du chiffrement de données ou une communication camouflée avec un serveur de commande et contrôle.
Le premier avantage, c'est évidemment le confort. Les outils en ligne de commande comme readelf ou objdump font parfaitement le travail, mais ils demandent de mémoriser des options, de croiser plusieurs sorties et de reconstruire mentalement la structure du fichier. Avec XELFViewer, tout est sous vos yeux, organisé en onglets, et vous passez de la table des symboles au désassemblage en un clic.
Le deuxième avantage, c'est la portabilité. L'outil est construit avec le framework Qt et propose des binaires pour à peu près tout ce qui existe : AppImage et paquets Debian et Ubuntu côté Linux, installateur PKG pour macOS avec une version dédiée aux puces Apple Silicon, et des versions portables pour Windows en 32 et 64 bits. Vous pouvez donc analyser tranquillement un binaire Linux suspect depuis votre machine Windows, sans monter une machine virtuelle juste pour l'inspecter. Pour les analystes en sécurité, c'est un vrai gain de temps.
Troisième point fort : la licence MIT. Pas de version premium bridée, pas d'inscription, pas de télémétrie douteuse. Le code source est disponible sur GitHub, le projet est activement maintenu, et la communauté contribue même aux traductions de l'interface via un dépôt dédié. Le projet a d'ailleurs dépassé les 1600 étoiles sur GitHub, signe qu'il a trouvé son public parmi les reversers et les analystes.
Les cas d'usage sont nombreux. En voici quelques-uns :
Rien de compliqué : rendez-vous sur la page des releases du projet GitHub et téléchargez la version correspondant à votre système. Sous Linux, l'AppImage se lance directement après un simple droit d'exécution. Les plus courageux peuvent aussi compiler l'outil depuis les sources, le projet utilisant Qt et CMake :
Les instructions détaillées de compilation se trouvent dans la documentation du dépôt. Comptez quelques minutes, le temps de récupérer les sous-modules.
Au final, XELFViewer fait partie de ces outils discrets mais redoutablement efficaces qui vous font gagner un temps précieux au quotidien. Si vous touchez de près ou de loin à l'analyse de binaires Linux, vous auriez tort de vous en priver. Et si le format PE ou Mach-O vous intéresse davantage, jetez un œil aux cousins XPEViewer et XMachOViewer du même auteur : la famille est talentueuse.
Vous avez aimé cet article ? Voici quelques suggestions qui devraient vous plaire :
Inscrivez-vous à notre lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.
XELFViewer, c'est quoi exactement ?
XELFViewer est un visualiseur et éditeur de fichiers ELF, open source et publié sous licence MIT, qui fonctionne aussi bien sous Windows que sous Linux et macOS. Derrière ce projet, on trouve un développeur bien connu de la scène du reverse engineering : horsicq, à qui l'on doit également le célèbre Detect It Easy (DIE), l'outil de référence pour identifier les compilateurs et les packers, ainsi que XPEViewer pour les fichiers PE de Windows et XMachOViewer pour les binaires Mach-O d'Apple. Autant dire que l'auteur connaît son sujet, et cela se ressent dès les premières minutes d'utilisation.
Petit rappel pour celles et ceux qui débarquent : ELF, pour Executable and Linkable Format, est le format standard des exécutables, des bibliothèques partagées, des fichiers objets et des core dumps sur les systèmes Unix et Linux. Chaque programme qui tourne sur votre serveur Debian, votre Raspberry Pi ou votre téléphone Android repose sur cette structure. Un fichier ELF contient un en-tête principal, des program headers qui décrivent comment charger le binaire en mémoire, des sections qui organisent le code et les données, des tables de symboles, des informations de liaison dynamique... Bref, une véritable petite ville intérieure, et XELFViewer vous en offre le plan détaillé.
Ce que vous pouvez faire avec
Explorer la structure du binaire
Ouvrez un fichier ELF avec XELFViewer et l'outil vous déroule immédiatement toute son anatomie : l'en-tête ELF avec l'architecture cible, le type de fichier et le point d'entrée, les program headers, la liste des sections avec leurs adresses et leurs tailles, les tables de symboles, ou encore les bibliothèques importées via la section dynamique. Chaque champ est décodé et présenté lisiblement, là où readelf vous aurait noyé sous des colonnes de valeurs hexadécimales. Et comme il s'agit aussi d'un éditeur, vous pouvez modifier ces valeurs directement, ce qui s'avère bien pratique pour réparer un en-tête malmené ou expérimenter sur un binaire d'étude.

Interface de XELFViewer affichant la structure d'un fichier ELF - Crédit photo : © Github.com
Désassembler et fouiller le code
XELFViewer embarque un désassembleur multi-architectures : x86 et x64 évidemment, mais aussi ARM, MIPS et même RISC-V. Vous pouvez donc naviguer dans le code machine d'un binaire compilé pour un objet connecté ou un routeur sans quitter votre poste de travail habituel. L'outil propose également le demangling des noms, cette opération qui transforme les symboles C++ illisibles du type _ZN4toto5helloEv en signatures compréhensibles par un être humain normalement constitué.

Fouiller le code assembleur d'un fichier ELF avec XELFViewer - Crédit photo : © Github.com
Analyser en profondeur
L'outil intègre aussi un éditeur hexadécimal complet, l'extraction des chaînes de caractères, le calcul d'entropie pour repérer les zones compressées ou chiffrées d'un binaire, ainsi qu'une fonction de recherche de constantes cryptographiques. Cette dernière est particulièrement utile en analyse de malwares : repérer les constantes d'AES ou de SHA-256 dans un échantillon vous indique tout de suite que celui-ci manipule de la cryptographie, et donc potentiellement du chiffrement de données ou une communication camouflée avec un serveur de commande et contrôle.
Pourquoi cet outil vaut le détour
XELFViewer est gratuit, open source, multi-plateforme et développé par l'auteur de Detect It Easy : une référence dans le monde du reverse engineering.
Le premier avantage, c'est évidemment le confort. Les outils en ligne de commande comme readelf ou objdump font parfaitement le travail, mais ils demandent de mémoriser des options, de croiser plusieurs sorties et de reconstruire mentalement la structure du fichier. Avec XELFViewer, tout est sous vos yeux, organisé en onglets, et vous passez de la table des symboles au désassemblage en un clic.
Le deuxième avantage, c'est la portabilité. L'outil est construit avec le framework Qt et propose des binaires pour à peu près tout ce qui existe : AppImage et paquets Debian et Ubuntu côté Linux, installateur PKG pour macOS avec une version dédiée aux puces Apple Silicon, et des versions portables pour Windows en 32 et 64 bits. Vous pouvez donc analyser tranquillement un binaire Linux suspect depuis votre machine Windows, sans monter une machine virtuelle juste pour l'inspecter. Pour les analystes en sécurité, c'est un vrai gain de temps.
Troisième point fort : la licence MIT. Pas de version premium bridée, pas d'inscription, pas de télémétrie douteuse. Le code source est disponible sur GitHub, le projet est activement maintenu, et la communauté contribue même aux traductions de l'interface via un dépôt dédié. Le projet a d'ailleurs dépassé les 1600 étoiles sur GitHub, signe qu'il a trouvé son public parmi les reversers et les analystes.
Dans quels cas l'utiliser ?
Les cas d'usage sont nombreux. En voici quelques-uns :
- L'analyse de malwares Linux : examiner la structure d'un échantillon, repérer un packer via l'entropie, extraire les chaînes et identifier les fonctions cryptographiques utilisées.
- Le reverse engineering et les CTF : comprendre rapidement un binaire d'épreuve, localiser le point d'entrée et désassembler les fonctions intéressantes.
- Le développement : vérifier les sections d'un exécutable que vous venez de compiler, contrôler les dépendances dynamiques ou diagnostiquer un problème d'édition de liens.
- L'audit de firmwares : inspecter des binaires ARM, MIPS ou RISC-V extraits d'objets connectés ou d'équipements réseau.
Installation
Rien de compliqué : rendez-vous sur la page des releases du projet GitHub et téléchargez la version correspondant à votre système. Sous Linux, l'AppImage se lance directement après un simple droit d'exécution. Les plus courageux peuvent aussi compiler l'outil depuis les sources, le projet utilisant Qt et CMake :
git clone --recursive https://github.com/horsicq/XELFViewer.git
Les instructions détaillées de compilation se trouvent dans la documentation du dépôt. Comptez quelques minutes, le temps de récupérer les sous-modules.
Au final, XELFViewer fait partie de ces outils discrets mais redoutablement efficaces qui vous font gagner un temps précieux au quotidien. Si vous touchez de près ou de loin à l'analyse de binaires Linux, vous auriez tort de vous en priver. Et si le format PE ou Mach-O vous intéresse davantage, jetez un œil aux cousins XPEViewer et XMachOViewer du même auteur : la famille est talentueuse.
Téléchargement
Quelques suggestions sur le sujet de la rétro-ingénierie
Vous avez aimé cet article ? Voici quelques suggestions qui devraient vous plaire :
Tags
Inscription à notre lettre d'information
Inscrivez-vous à notre lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.
© 2000-2026 - Tous droits réservés SecuriteInfo.com