.ELF

ELF-bestand

Executable and Linkable Format
Stel een vraag
SNEL ANTWOORD

Een ELF-bestand is het binaire uitvoerbare formaat dat wordt gebruikt door Linux, Android, de BSD's en de meeste Unix-achtige systemen - het equivalent van Windows EXE. Op Linux voer je het direct uit; een PS2 homebrew .elf draait in PCSX2, een GameCube/Wii .elf draait in Dolphin. ELF draait niet standaard op Windows of macOS, en zoals elk uitvoerbaar bestand kan het malware bevatten, dus voer alleen bestanden uit van bronnen die je vertrouwt.

Ontwikkelaar: Unix System Laboratories (AT&T); now an open System V / TIS standard Categorie: Uitvoerbare bestandens Open standaard MIME: application/x-elf
OPENT OP Windows macOS Linux
Gerelateerd: .APK · .EXE · .VBS · .JAR

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Aug 26, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het ELF-bestandsformaat?

Bestanden met de extensie .elf slaan binaire gegevens op die zijn gestructureerd volgens de Executable and Linkable Format-standaard - het standaardformaat voor uitvoerbare bestanden en objectbestanden voor Linux, de meeste Unix-achtige systemen en veel embedded platforms. Het formaat werd geïntroduceerd met Unix System V Release 4 door Unix System Laboratories en later geratificeerd als een Tool Interface Standard (TIS) draagbare specificatie.

ELF-bestanden kunnen de volgende soorten inhoud bevatten:

  • Uitvoerbare bestanden voor applicaties en tools, vaak gedistribueerd als een .bin-bestand
  • Gecompileerde objectbestanden, meestal met de extensie .o
  • Gedeelde bibliotheken - bestanden met de extensie .so
  • Core dumps (geheugenmomentopnamen geproduceerd na een crash van een proces)

Het formaat is opgebouwd rond een goed gedefinieerde binaire structuur. Elk .elf-bestand begint met de magische reeks van 4 bytes 7F 45 4C 46 (0x7F gevolgd door de ASCII-letters ELF) op positie 0, gevolgd door header-velden die de doelarchitectuur, woordgrootte (32-bit of 64-bit) en bytevolgorde (little-endian of big-endian) identificeren. Twee optionele tabellen - de program header table en de section header table - beschrijven vervolgens hoe segmenten tijdens runtime moeten worden geladen en hoe secties zijn georganiseerd voor koppeling (linking).

Hoewel de ELF-standaard werd ontwikkeld met Unix-systemen in gedachten, werd deze snel overgenomen door andere platforms, waaronder spelcomputers zoals de PlayStation 2 en Wii, Android en veel embedded omgevingen. Het standaard MIME-type is application/x-elf. De inhoud van een .elf-bestand is niet leesbaar voor mensen; tools zoals readelf en objdump (beide onderdeel van GNU Binutils) kunnen de headers inspecteren en de code disassembleren zonder deze uit te voeren.

Beveiliging & veiligheid

RISICO: HIGH

Zoals elk uitvoerbaar bestand kan een ELF malware bevatten - Linux/IoT-botnets (bijv. Mirai-varianten) worden verspreid als ELF-binaries, en een ELF draait met jouw rechten zodra deze wordt uitgevoerd. Voer alleen ELF-bestanden uit van vertrouwde bronnen; gebruik geen „chmod +x” op willekeurige downloads. Inspecteer onbekende ELF's veilig met readelf/objdump of scan ze op VirusTotal voordat je ze uitvoert. Console homebrew .elf-bestanden zijn minder risicovol (ze draaien in de sandbox van een emulator), maar haal ze nog steeds van gerenommeerde homebrew-bronnen.

Formaatdetails

in een notendop
VOLLEDIGE NAAMExecutable and Linkable Format
ONTWIKKELAARUnix System Laboratories (AT&T); now an open System V / TIS standardsinds 1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
MIME-TYPEapplication/x-elf
TYPEBinair uitvoerbaar bestand / object / gedeelde bibliotheek formaat
STANDAARDOpen · royaltyvrij
GERELATEERD.apk.exe.vbs.jar
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
00010203
HEX
7F454C46
ASCII
·ELF
Elk ELF-bestand begint met de 4-byte magic 7F 45 4C 46 (0x7F + „ELF”) op offset 0. Byte 4 (EI_CLASS) is 1 voor 32-bit / 2 for 64-bit; byte 5 (EI_DATA) is 1 voor little-endian / 2 voor big-endian; byte 16 (e_type) geeft aan of het een uitvoerbaar bestand, een verplaatsbaar object, een gedeeld object (.so) of een core dump is.

Programma's die ELF-bestanden openen

Windows3 apps
PCSX2 (PlayStation 2 emulator) Open-source Voer een PS2 homebrew/SDK .elf uit: Bestand > Run ELF (of start de .elf direct). Alleen voor PS2 ELF-binaries.
Dolphin (GameCube/Wii emulator) Open-source Open een GameCube/Wii homebrew .elf in Dolphin om deze uit te voeren. Alleen voor Nintendo console ELF-binaries.
Ghidra Open-source Importeer de ELF om deze te disassembleren en te decompileren naar leesbare C - voor reverse engineering/analyse.
macOS1 app
Ghidra Open-source Importeer de ELF om deze te disassembleren en te decompileren naar leesbare C - voor reverse engineering/analyse.
Linux4 apps
Linux (run it) Ingebouwd Maak het uitvoerbaar en voer het uit: „chmod +x ./programma && ./programma”. Een ELF-executable IS het programma - er is niets om te „bekijken”. Het moet overeenkomen met je CPU-architectuur.
readelf (GNU binutils) Open-source Inspecteren zonder uit te voeren: „readelf -a bestand.elf” toont headers, secties, symbolen en de doelarchitectuur.
objdump (GNU binutils) Open-source Disassembleren: „objdump -d bestand.elf” toont de machinecode; „objdump -x” toont alle headers.
Ghidra Open-source Importeer de ELF om deze te disassembleren en te decompileren naar leesbare C - voor reverse engineering/analyse.

Technische details

diepe specificaties
Magisch getal`7F 45 4C 46` (0x7F gevolgd door ASCII `ELF`) op byte-offset 0, aanwezig in elk geldig ELF-bestand
MIME-type`application/x-elf`
Woordgrootte-varianten32-bit (EI_CLASS = `01`) en 64-bit (EI_CLASS = `02`), gecodeerd op offset 4 in de ELF-header
Byte-order veldEI_DATA op offset 5: `01` = little-endian, `02` = big-endian; bepaald door de doelhardware-architectuur
Bestandstypen (e_type)ET_EXEC (uitvoerbaar), ET_REL (verplaatsbaar object), ET_DYN (gedeeld object of PIE), ET_CORE (core dump)
Doelarchitecturenx86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC en vele andere, geïdentificeerd door het `e_machine` veld in de ELF-header
OS/ABI-identificatieEI_OSABI byte op offset 7 specificeert de doel-ABI: 0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
Structuurlay-outELF-header → optionele program header table (runtime laadsegmenten) → data → optionele section header table (link-time secties)
Belangrijke benoemde secties`.text` (code), `.data` (geïnitialiseerde data), `.bss` (op nul geïnitialiseerde data), `.rodata` (constanten), `.symtab` / `.dynsym` (symbolen), `.rel` / `.rela` (relocaties)
Dynamische koppelingGedeelde objecten worden tijdens het laden opgelost door de runtime linker (`ld.so`); het vereiste interpreterpad is opgeslagen in de `PT_INTERP` program header
Debug-informatieDWARF-debuggegevens zijn ingebed in `.debug_*` ELF-secties en kunnen uit productie-binaries worden verwijderd met het commando `strip`
Positie-onafhankelijke uitvoerbare bestandenPIE-binaries zijn van het type ET_DYN en ondersteunen ASLR; de Linux-kernel herinnert hun basislaadadres bij elke start
Primaire inspectietools`readelf -a` (headers, symbolen, secties) en `objdump -d` (disassembly), beide geleverd door GNU Binutils
Uitgebracht1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
Open standaardJa · royaltyvrij
Specificatierefspecs.linuxfoundation.org

ELF conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met ELF-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over ELF-bestanden.

Veelgestelde vragen

Hoe open ik een ELF-bestand?
Dat hangt ervan af wat het is. Een Linux-programma ELF wordt uitgevoerd, niet geopend: „chmod +x ./bestand && ./bestand”. Een PlayStation 2 homebrew .elf draait in PCSX2; een GameCube/Wii .elf draait in Dolphin. Om in een ELF te kijken zonder deze uit te voeren, gebruik je readelf, objdump of Ghidra.
Kan ik een ELF-bestand uitvoeren op Windows?
Niet standaard - ELF is het Unix/Linux-formaat, Windows gebruikt EXE/PE. Gebruik WSL (Windows Subsystem for Linux) of een Linux VM om een Linux ELF uit te voeren, of een emulator (PCSX2/Dolphin) om een console homebrew .elf te draaien.
Is een ELF-bestand hetzelfde als een EXE?
Het zijn equivalenten op verschillende systemen: ELF is het uitvoerbare formaat voor Linux/Unix, EXE (PE) is dat voor Windows. Ze zijn niet uitwisselbaar en kunnen niet naar elkaar worden geconverteerd.
Hoe voer ik een ELF uit in PCSX2 of Dolphin?
Gebruik in PCSX2 „Run ELF” (of start de .elf) voor PS2 homebrew; open in Dolphin de .elf direct voor GameCube/Wii homebrew. Je hebt de juiste emulator nodig voor de console waarvoor de ELF is gebouwd.
Hoe kan ik zien wat er in een ELF-bestand zit?
Gebruik „readelf -a bestand” voor headers/secties/symbolen, „objdump -d bestand” om te disassembleren, of importeer het in Ghidra om te decompileren naar C. Hiermee inspecteer je het bestand zonder het uit te voeren.
Is het veilig om een ELF-bestand uit te voeren?
Alleen van een bron die je vertrouwt - ELF-binaries kunnen malware zijn (Linux/IoT-botnets zijn ELF). Inspecteer onbekende bestanden eerst met readelf/VirusTotal. Console homebrew .elf-bestanden draaien in een sandbox binnen een emulator en vormen een lager risico.

Referenties

1Wikipedia - Executable and Linkable Formaten.wikipedia.org
2GNU Binutils - readelf / objdumpwww.gnu.org

Blijf ontdekken

door de database

Populaire extensies deze week

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.CRDOWNLOADChrome Partial Download File
4.PARTPartial Download File
5.MDMarkdown Document
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.PRDXSoftMaker Presentations Document
10.EXEWindows Executable (Portable Executable)

Gerelateerde extensies

.APKAndroid Package
.EXEWindows Executable (Portable Executable)
.VBSVBScript file (Visual Basic Script)
.JARJava Archive
.EX4MetaTrader 4 Compiled Program (Expert Advisor / Indicator / Script)
.APPXMicrosoft Windows App Package (AppX)

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z