Das Executable and Linkable Format (ELF) ist ein gängiges Standard-Dateiformat für ausführbare Dateien (Executables), Objektcode, gemeinsam genutzte Bibliotheken (Shared Libraries) und Core Dumps (Speicherauszüge). Es wird auf vielen Unix-ähnlichen Betriebssystemen verwendet, darunter Linux, Solaris, FreeBSD und andere. ELF-Dateien sind darauf ausgelegt, flexibel und erweiterbar zu sein, was es ermöglicht, dass eine Vielzahl von Architekturen und Betriebssystemen dasselbe grundlegende Format nutzen können. Das Format besteht aus einem Header (Kopfzeile), Programm-Headern, Sektions-Headern und den eigentlichen Daten. Der Header beschreibt die Gesamtstruktur der Datei, einschließlich des Einsprungpunkts für die Ausführung. Programm-Header beschreiben Segmente, welche zusammenhängende Bereiche der Datei darstellen, die während der Ausführung in den Speicher geladen werden. Sektions-Header beschreiben Sektionen, die für das Linken (Verknüpfen) und das Debugging (Fehlersuche) verwendet werden. Die Daten selbst enthalten den eigentlichen Code und die Daten des Programms. ELF-Dateien können statisch gelinkt sein, was bedeutet, dass der gesamte notwendige Code in der ausführbaren Datei enthalten ist, oder dynamisch gelinkt sein, wobei Teile des Codes zur Laufzeit aus Shared Libraries geladen werden. Dies ermöglicht kleinere ausführbare Dateien und erleichtert Aktualisierungen der gemeinsam genutzten Bibliotheken.