.ELF

ELF-fil

Executable and Linkable Format
Still et spørsmål
HURTIGSVAR

En ELF-fil er det binære kjørbare formatet som brukes av Linux, Android, BSD-systemer og de fleste Unix-lignende systemer - tilsvarende Windows EXE. På Linux kjører du den direkte; en PS2-homebrew .elf kjører i PCSX2, en GameCube/Wii .elf kjører i Dolphin. ELF kjører ikke naturlig på Windows eller macOS, og som alle kjørbare filer kan den inneholde skadevare, så kjør kun filer fra kilder du stoler på.

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

På denne siden

19k+ filendelser indeksert
Sist vurdert Aug 26, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er ELF-filformatet?

Filer med filendelsen .elf lagrer binære data strukturert i henhold til standarden Executable and Linkable Format - standardformatet for kjørbare filer og objektfiler for Linux, de fleste Unix-lignende systemer og mange innebygde plattformer. Formatet ble introdusert med Unix System V Release 4 av Unix System Laboratories og senere ratifisert som en Tool Interface Standard (TIS) portabel spesifikasjon.

ELF-filer kan lagre følgende typer innhold:

  • Kjørbare filer for applikasjoner og verktøy, ofte distribuert som en .bin-fil
  • Kompilerte objektfiler, som vanligvis har filendelsen .o
  • Delte biblioteker (shared libraries) - filer med filendelsen .so
  • Core dumps (minne-øyeblikksbilder produsert etter et programkrasj)

Formatet er bygget rundt en veldefinert binær struktur. Hver .elf-fil starter med den 4-byte lange magiske sekvensen 7F 45 4C 46 (0x7F etterfulgt av ASCII-bokstavene ELF) ved posisjon 0, etterfulgt av hodefelt (header fields) som identifiserer målarkitektur, ordstørrelse (32-bit eller 64-bit) og byte-rekkefølge (little-endian eller big-endian). To valgfrie tabeller - program header table og section header table - beskriver deretter hvordan segmenter skal lastes ved kjøring og hvordan seksjoner er organisert for lenking.

Selv om ELF-standarden ble utviklet med Unix-systemer i tankene, ble den raskt tatt i bruk av andre plattformer, inkludert spillkonsoller som PlayStation 2 og Wii, Android og mange innebygde miljøer. Standard MIME-type er application/x-elf. Innholdet i en .elf-fil er ikke menneskelig lesbart; verktøy som readelf og objdump (begge en del av GNU Binutils) kan inspisere filhodene og disassemblere koden uten å kjøre den.

Sikkerhet og trygghet

RISIKO: HIGH

Som alle kjørbare filer kan en ELF inneholde skadevare - Linux/IoT-botnett (f.eks. Mirai-varianter) leveres som ELF-binærfiler, og en ELF kjører med dine rettigheter når den utføres. Kjør kun ELF-filer fra pålitelige kilder; ikke bruk «chmod +x» og kjør tilfeldige nedlastinger. Inspiser ukjente ELF-filer trygt med readelf/objdump eller skann dem på VirusTotal før kjøring. Konsoll-homebrew .elf-filer har lavere risiko (de kjører i en emulators sandkasse), men hent dem likevel fra anerkjente homebrew-kilder.

Formatdetaljer

i et nøtteskall
FULLT NAVNExecutable and Linkable Format
UTVIKLERUnix 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 for kjørbare filer / objekter / delte biblioteker
STANDARDÅpen · royalty-fri
MAGIC BYTES · FILSIGNATUR
OFFSET
00010203
HEX
7F454C46
ASCII
·ELF
Hver ELF-fil starter med den 4-byte magiske sekvensen 7F 45 4C 46 (0x7F + «ELF») ved posisjon 0. Byte 4 (EI_CLASS) er 1 for 32-bit / 2 for 64-bit; byte 5 (EI_DATA) er 1 for little-endian / 2 for big-endian; byte 16 (e_type) forteller om det er en kjørebar fil, et relokerbart objekt, et delt objekt (.so) eller en core dump.

Programmer som åpner ELF-filer

Windows3 apps
PCSX2 (PlayStation 2 emulator) Åpen kildekode Kjør en PS2 homebrew/SDK .elf: File > Run ELF (eller start .elf direkte). Kun for PS2 ELF-binærfiler.
Dolphin (GameCube/Wii emulator) Åpen kildekode Åpne en GameCube/Wii homebrew .elf i Dolphin for å kjøre den. Kun for Nintendo-konsoll ELF-binærfiler.
Ghidra Åpen kildekode Importer ELF-filen for å disassemblere og dekompilere den til lesbar C - for reverse engineering og analyse.
macOS1 app
Ghidra Åpen kildekode Importer ELF-filen for å disassemblere og dekompilere den til lesbar C - for reverse engineering og analyse.
Linux4 apps
Linux (run it) Innebygd Gjør den kjørbar og kjør: «chmod +x ./program && ./program». En ELF-kjørebar fil ER programmet - det er ingenting å «vise». Den må samsvare med din CPU-arkitektur.
readelf (GNU binutils) Åpen kildekode Inspiser uten å kjøre: «readelf -a file.elf» viser hoder, seksjoner, symboler og målarkitektur.
objdump (GNU binutils) Åpen kildekode Disassembler: «objdump -d file.elf» viser maskinkoden; «objdump -x» viser alle hoder.
Ghidra Åpen kildekode Importer ELF-filen for å disassemblere og dekompilere den til lesbar C - for reverse engineering og analyse.

Tekniske detaljer

dyp spesifikasjon
Magisk tall`7F 45 4C 46` (0x7F etterfulgt av ASCII `ELF`) ved byte-posisjon 0, til stede i enhver gyldig ELF-fil
MIME-type`application/x-elf`
Varianter av ordstørrelse32-bit (EI_CLASS = `01`) og 64-bit (EI_CLASS = `02`), kodet ved posisjon 4 i ELF-hodet
Felt for byte-rekkefølgeEI_DATA ved posisjon 5: `01` = little-endian, `02` = big-endian; bestemt av målmaskinvarens arkitektur
Filtyper (e_type)ET_EXEC (kjørebar), ET_REL (relokerbart objekt), ET_DYN (delt objekt eller PIE), ET_CORE (core dump)
Målarkitekturerx86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC og mange andre, identifisert av feltet `e_machine` i ELF-hodet
OS/ABI-identifikatorEI_OSABI-byte ved posisjon 7 spesifiserer mål-ABI: 0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
StrukturoppsettELF-hode → valgfri program header table (segmenter for lasting ved kjøring) → data → valgfri section header table (seksjoner for lenking)
Viktige navngitte seksjoner`.text` (kode), `.data` (initialisert data), `.bss` (null-initialisert data), `.rodata` (konstanter), `.symtab` / `.dynsym` (symboler), `.rel` / `.rela` (relokeringer)
Dynamisk lenkingDelte objekter løses ved lastetid av kjøretidslenkeren (`ld.so`); den nødvendige tolkerstien er lagret i `PT_INTERP` programhodet
FeilsøkingsinformasjonDWARF-feilsøkingsdata er innebygd i `.debug_*` ELF-seksjoner og kan fjernes fra produksjonsfiler med kommandoen `strip`
Posisjonsuavhengige kjørbare filerPIE-binærfiler er av typen ET_DYN og støtter ASLR; Linux-kjernen randomiserer deres baselasteadresse ved hver oppstart
Primære inspeksjonsverktøy`readelf -a` (hoder, symboler, seksjoner) og `objdump -d` (disassemblering), begge levert av GNU Binutils
Utgitt1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
Åpen standardJa · royalty-fri
Spesifikasjonrefspecs.linuxfoundation.org

ELF-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med ELF-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om ELF-filer.

Ofte stilte spørsmål

Hvordan åpner jeg en ELF-fil?
Det kommer an på hva det er. Et Linux-program i ELF-format kjøres, ikke åpnes: «chmod +x ./fil && ./fil». En PlayStation 2 homebrew .elf kjører i PCSX2; en GameCube/Wii .elf kjører i Dolphin. For å se inni en ELF uten å kjøre den, bruk readelf, objdump eller Ghidra.
Kan jeg kjøre en ELF-fil på Windows?
Ikke naturlig - ELF er Unix/Linux-formatet, mens Windows bruker EXE/PE. Bruk WSL (Windows Subsystem for Linux) eller en Linux-VM for å kjøre en Linux-ELF, eller en emulator (PCSX2/Dolphin) for å kjøre en konsoll-homebrew .elf.
Er en ELF-fil det samme som en EXE?
De er ekvivalenter på ulike systemer: ELF er Linux/Unix sitt kjørbare format, EXE (PE) er Windows sitt. De er ikke utskiftbare og kan ikke konverteres til hverandre.
Hvordan kjører jeg en ELF i PCSX2 eller Dolphin?
I PCSX2 bruker du «Run ELF» (eller starter .elf-filen) for PS2-homebrew; i Dolphin åpner du .elf-filen direkte for GameCube/Wii-homebrew. Du trenger den riktige emulatoren for konsollen ELF-filen ble laget for.
Hvordan kan jeg se hva som er inni en ELF-fil?
Bruk «readelf -a fil» for hoder/seksjoner/symboler, «objdump -d fil» for å disassemblere, eller importer den i Ghidra for å dekompilere til C. Dette inspiserer filen uten å kjøre den.
Er det trygt å kjøre en ELF-fil?
Kun fra en kilde du stoler på - ELF-binærfiler kan være skadevare (Linux/IoT-botnett er ofte ELF). Inspiser ukjente filer med readelf/VirusTotal først. Konsoll-homebrew .elf-filer kjører i en sandkasse inne i en emulator og har lavere risiko.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

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)

Relaterte filendelser

.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 filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å