.ELF

ELF-fil

Executable and Linkable Format
Stil et spørgsmål
HURTIGT SVAR

En ELF-fil er det binære eksekverbare format, der bruges af Linux, Android, BSD-systemerne og de fleste Unix-lignende systemer - det svarer til Windows EXE. På Linux kører du den direkte; en PS2 homebrew .elf kører i PCSX2, en GameCube/Wii .elf kører i Dolphin. ELF kører ikke indfødt på Windows eller macOS, og som enhver eksekverbar fil kan den indeholde malware, så kør kun filer fra kilder, du stoler på.

Udvikler: Unix System Laboratories (AT&T); now an open System V / TIS standard Kategori: Eksekverbare filer Åben standard MIME: application/x-elf
ÅBNER PÅ Windows macOS Linux
Relateret: .APK · .EXE · .VBS · .JAR

På denne side

19k+ filtyper indekseret
Sidst gennemset Aug 26, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er ELF-filformatet?

Filer med filtypenavnet .elf gemmer binære data struktureret i henhold til Executable and Linkable Format-standarden - standardformatet for eksekverbare filer og objektfiler til Linux, de fleste Unix-lignende systemer og mange indlejrede platforme. Formatet blev introduceret med Unix System V Release 4 af Unix System Laboratories og senere ratificeret som en Tool Interface Standard (TIS) bærbar specifikation.

ELF-filer kan gemme følgende typer indhold:

  • Eksekverbare filer til applikationer og værktøjer, ofte distribueret som en .bin-fil
  • Kompilerede objektfiler, der typisk bærer filtypenavnet .o
  • Delte biblioteker (shared libraries) - filer med filtypenavnet .so
  • Core dumps (hukommelses-snapshots produceret efter et procesnedbrud)

Formatet er bygget op omkring en veldefineret binær struktur. Enhver .elf-fil begynder med den 4-byte magiske sekvens 7F 45 4C 46 (0x7F efterfulgt af ASCII-bogstaverne ELF) ved offset 0, efterfulgt af header-felter, der identificerer målarkitekturen, ordstørrelse (32-bit eller 64-bit) og byterækkefølge (little-endian eller big-endian). To valgfrie tabeller - program header table og section header table - beskriver derefter, hvordan segmenter skal indlæses ved kørsel, og hvordan sektioner er organiseret til linkning.

Selvom ELF-standarden blev udviklet med Unix-systemer for øje, blev den hurtigt adopteret af andre platforme, herunder spillekonsoller som PlayStation 2 og Wii, Android og mange indlejrede miljøer. Standard MIME-typen er application/x-elf. Indholdet af en .elf-fil er ikke læsbart for mennesker; værktøjer som readelf og objdump (begge en del af GNU Binutils) kan inspicere dens headere og disassemblere dens kode uden at eksekvere den.

Sikkerhed og tryghed

RISIKO: HIGH

Som enhver eksekverbar fil kan en ELF indeholde malware - Linux/IoT-botnet (f.eks. Mirai-varianter) leveres som ELF-binærfiler, og en ELF kører med dine rettigheder, når den først er eksekveret. Kør kun ELF-filer fra betroede kilder; lad være med at bruge «chmod +x» og eksekvere tilfældige downloads. Inspicer ukendte ELF-filer sikkert med readelf/objdump eller scan dem på VirusTotal før kørsel. Konsol-homebrew .elf-filer er forbundet med lavere risiko (de kører i en emulators sandkasse), men hent dem stadig fra anerkendte homebrew-kilder.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNExecutable and Linkable Format
UDVIKLERUnix System Laboratories (AT&T); now an open System V / TIS standardsiden 1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
MIME-TYPEapplication/x-elf
TYPEBinært format til eksekverbare filer / objektfiler / delte biblioteker
STANDARDÅben · royaltyfri
MAGIC BYTES · FILSIGNATUR
OFFSET
00010203
HEX
7F454C46
ASCII
·ELF
Enhver ELF-fil starter med den 4-byte magiske sekvens 7F 45 4C 46 (0x7F + «ELF») ved offset 0. Byte 4 (EI_CLASS) er 1 for 32-bit / 2 for 64-bit; byte 5 (EI_DATA) is 1 for little-endian / 2 for big-endian; byte 16 (e_type) fortæller, om det er en eksekverbar fil, en relokerbar objektfil, et delt objekt (.so) eller et core dump.

Programmer der åbner ELF-filer

Windows3 apps
PCSX2 (PlayStation 2 emulator) Open-source Kør en PS2 homebrew/SDK .elf: File > Run ELF (eller boot .elf-filen direkte). Kun til PS2 ELF-binærfiler.
Dolphin (GameCube/Wii emulator) Open-source Åbn en GameCube/Wii homebrew .elf i Dolphin for at køre den. Kun til Nintendo-konsol ELF-binærfiler.
Ghidra Open-source Importer ELF-filen for at disassemblere og dekompilere den til læsbar C - til reverse engineering/analyse.
macOS1 app
Ghidra Open-source Importer ELF-filen for at disassemblere og dekompilere den til læsbar C - til reverse engineering/analyse.
Linux4 apps
Linux (run it) Indbygget Gør den eksekverbar og kør: «chmod +x ./program && ./program». En eksekverbar ELF ER programmet - der er ikke noget at «se». Den skal matche din CPU-arkitektur.
readelf (GNU binutils) Open-source Inspicer uden at køre: «readelf -a file.elf» viser headere, sektioner, symboler og målarkitekturen.
objdump (GNU binutils) Open-source Disassembler: «objdump -d file.elf» viser maskinkoden; «objdump -x» viser alle headere.
Ghidra Open-source Importer ELF-filen for at disassemblere og dekompilere den til læsbar C - til reverse engineering/analyse.

Tekniske detaljer

dyb specifikation
Magic number`7F 45 4C 46` (0x7F efterfulgt af ASCII `ELF`) ved byte-offset 0, findes i enhver gyldig ELF-fil
MIME-type`application/x-elf`
Varianter af ordstørrelse32-bit (EI_CLASS = `01`) og 64-bit (EI_CLASS = `02`), kodet ved offset 4 i ELF-headeren
Byterækkefølge-feltEI_DATA ved offset 5: `01` = little-endian, `02` = big-endian; bestemt af mål-hardwarearkitekturen
Filtyper (e_type)ET_EXEC (eksekverbar), ET_REL (relokerbar objektfil), ET_DYN (delt objekt eller PIE), ET_CORE (core dump)
Målarkitekturerx86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC og mange andre, identificeret ved `e_machine`-feltet i ELF-headeren
OS/ABI-identifikatorEI_OSABI-byte ved offset 7 specificerer mål-ABI: 0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
StrukturlayoutELF-header → valgfri program header table (runtime load-segmenter) → data → valgfri section header table (link-time sektioner)
Vigtige navngivne sektioner`.text` (kode), `.data` (initialiseret data), `.bss` (nul-initialiseret data), `.rodata` (konstanter), `.symtab` / `.dynsym` (symboler), `.rel` / `.rela` (relokeringer)
Dynamisk linkningDelte objekter løses ved indlæsning af runtime-linkeren (`ld.so`); den påkrævede sti til fortolkeren gemmes i `PT_INTERP` program-headeren
Debug-informationDWARF-debug-data er indlejret i `.debug_*` ELF-sektioner og kan fjernes fra produktions-binærfiler med kommandoen `strip`
Positionsuafhængige eksekverbare filerPIE-binærfiler er af typen ET_DYN og understøtter ASLR; Linux-kernen randomiserer deres base-indlæsningsadresse ved hver start
Primære inspektionsværktøjer`readelf -a` (headere, symboler, sektioner) og `objdump -d` (disassembly), begge leveret af GNU Binutils
Udgivet1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
Åben standardJa · royaltyfri
Specifikationrefspecs.linuxfoundation.org

ELF-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med ELF-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om ELF-filer.

Ofte stillede spørgsmål

Hvordan åbner jeg en ELF-fil?
Det afhænger af, hvad det er. Et Linux-program i ELF-format køres, det åbnes ikke: «chmod +x ./fil && ./fil». En PlayStation 2 homebrew .elf kører i PCSX2; en GameCube/Wii .elf kører i Dolphin. For at kigge ind i en ELF uden at køre den, skal du bruge readelf, objdump eller Ghidra.
Kan jeg køre en ELF-fil på Windows?
Ikke indfødt - ELF er Unix/Linux-formatet, mens Windows bruger EXE/PE. Brug WSL (Windows Subsystem for Linux) eller en Linux-VM til at køre en Linux-ELF, eller en emulator (PCSX2/Dolphin) til at køre en konsol-homebrew .elf.
Er en ELF-fil det samme som en EXE?
De er ækvivalenter på forskellige systemer: ELF er Linux/Unix-formatet for eksekverbare filer, EXE (PE) er Windows-formatet. De er ikke udskiftelige og kan ikke konverteres til hinanden.
Hvordan kører jeg en ELF i PCSX2 eller Dolphin?
I PCSX2 skal du bruge «Run ELF» (eller boote .elf-filen) til PS2 homebrew; i Dolphin skal du åbne .elf-filen direkte til GameCube/Wii homebrew. Du skal bruge den relevante emulator til den konsol, som ELF-filen er bygget til.
Hvordan kan jeg se, hvad der er inde i en ELF-fil?
Brug «readelf -a fil» for headere/sektioner/symboler, «objdump -d fil» for at disassemblere, eller importer den i Ghidra for at dekompilere til C. Dette inspicerer filen uden at eksekvere den.
Er det sikkert at køre en ELF-fil?
Kun fra en kilde, du stoler på - ELF-binærfiler kan være malware (Linux/IoT-botnet er ELF). Inspicer ukendte filer med readelf/VirusTotal først. Konsol-homebrew .elf-filer kører i en sandkasse inde i en emulator og udgør en lavere risiko.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.EXEWindows Executable (Portable Executable)
5.NOMEDIAAndroid No-Media Marker File
6.BINCD/DVD Disc Image (BIN/CUE)
7.MDMarkdown Document
8.TMPTemporary File
9.JPGJPEG Image
10.DATProgram Data File (generic)

Relaterede filtyper

.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 filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å