Le format ELF (Executable and Linkable Format) est un format de fichier standard couramment utilisé pour les exécutables, le code objet, les bibliothèques partagées et les fichiers de vidage mémoire (core dumps). Il s'agit d'un format flexible et extensible employé sur une grande variété de systèmes d'exploitation, en particulier les systèmes de type Unix tels que Linux, FreeBSD, Solaris et macOS (bien que macOS utilise principalement Mach-O). Les fichiers ELF contiennent des sections de code, de données et de métadonnées qui décrivent la manière dont le programme doit être chargé et exécuté. Ces métadonnées incluent des informations sur le point d'entrée du programme, l'emplacement des différentes sections en mémoire et les dépendances envers les bibliothèques partagées. Les fichiers ELF sont conçus pour être indépendants de la plateforme, permettant au même exécutable de fonctionner sur différentes architectures avec un minimum de modifications. Le format prend en charge la liaison dynamique, ce qui permet aux programmes de partager des bibliothèques et de réduire leur taille globale. Il inclut également des informations de débogage, facilitant ainsi l'analyse et la correction des programmes. Les fichiers ELF sont essentiels au bon fonctionnement de nombreux systèmes logiciels, offrant une méthode standardisée pour empaqueter et distribuer le code exécutable.