Das Executable and Linkable Format (ELF) ist ein weit verbreitetes Standard-Dateiformat für ausführbare Dateien, Objektcode, gemeinsam genutzte Bibliotheken (Shared Libraries) und Core-Dumps. Es findet auf zahlreichen Unix-ähnlichen Betriebssystemen Anwendung, darunter Linux, Solaris, FreeBSD und weitere. ELF-Dateien sind so konzipiert, dass sie flexibel und erweiterbar sind, was es verschiedenen Architekturen und Betriebssystemen ermöglicht, dasselbe grundlegende Format zu verwenden. Die Struktur besteht aus einem Header, Programm-Headern, Sektions-Headern und den eigentlichen Daten. Der Header beschreibt den allgemeinen Aufbau der Datei, einschließlich des Einsprungpunkts für die Ausführung. Programm-Header definieren Segmente, also zusammenhängende Bereiche der Datei, die während der Ausführung in den Arbeitsspeicher geladen werden. Sektions-Header beschreiben Sektionen, die primär für das Linken und Debugging verwendet werden. Die Daten selbst enthalten den tatsächlichen Programmcode sowie die Programmdaten. ELF-Dateien können statisch gelinkt sein, wobei der gesamte erforderliche Code in der ausführbaren Datei enthalten ist, oder dynamisch gelinkt werden, sodass Teile des Codes zur Laufzeit aus Shared Libraries geladen werden. Dies ermöglicht kleinere ausführbare Dateien und vereinfacht die Aktualisierung gemeinsamer Bibliotheken.