.ELF

File ELF

Executable and Linkable Format
Fai una domanda
RISPOSTA RAPIDA

Un file ELF è il formato eseguibile binario utilizzato da Linux, Android, i sistemi BSD e la maggior parte dei sistemi Unix-like - l'equivalente degli EXE di Windows. Su Linux si esegue direttamente; un file .elf homebrew per PS2 viene eseguito in PCSX2, un .elf per GameCube/Wii in Dolphin. ELF non gira nativamente su Windows o macOS e, come ogni eseguibile, può contenere malware, quindi esegui solo file provenienti da fonti affidabili.

Sviluppatore: Unix System Laboratories (AT&T); now an open System V / TIS standard Categoria: File eseguibili (exe) Standard aperto MIME: application/x-elf
SI APRE SU Windows macOS Linux
Correlati: .APK · .EXE · .VBS · .JAR

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Aug 26, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file ELF?

I file con estensione .elf memorizzano dati binari strutturati secondo lo standard Executable and Linkable Format - il formato predefinito per eseguibili e file oggetto per Linux, la maggior parte dei sistemi Unix-like e molte piattaforme embedded. Il formato è stato introdotto con Unix System V Release 4 dai Unix System Laboratories e successivamente ratificato come specifica portatile Tool Interface Standard (TIS).

I file ELF possono memorizzare i seguenti tipi di contenuti:

  • File eseguibili per applicazioni e strumenti, spesso distribuiti come file .bin
  • File oggetto compilati, che tipicamente portano l'estensione .o
  • Librerie condivise - file con estensione .so
  • Core dump (istantanee della memoria prodotte dopo il crash di un processo)

Il formato è costruito attorno a una struttura binaria ben definita. Ogni file .elf inizia con la sequenza magica di 4 byte 7F 45 4C 46 (0x7F seguito dalle lettere ASCII ELF) all'offset 0, seguita da campi di intestazione che identificano l'architettura di destinazione, la dimensione della parola (32-bit o 64-bit) e l'ordine dei byte (little-endian o big-endian). Due tabelle opzionali - la program header table e la section header table - descrivono quindi come i segmenti debbano essere caricati in fase di esecuzione e come le sezioni siano organizzate per il collegamento (linking).

Sebbene lo standard ELF sia stato sviluppato pensando ai sistemi Unix, è stato rapidamente adottato da altre piattaforme, incluse console di gioco come PlayStation 2 e Wii, Android e molti ambienti embedded. Il tipo MIME standard è application/x-elf. I contenuti di un file .elf non sono leggibili dall'uomo; strumenti come readelf e objdump (entrambi parte di GNU Binutils) possono ispezionare le sue intestazioni e disassemblare il suo codice senza eseguirlo.

Sicurezza e incolumità

RISCHIO: HIGH

Come ogni eseguibile, un ELF può contenere malware - le botnet Linux/IoT (ad es. varianti Mirai) vengono distribuite come binari ELF, e un ELF viene eseguito con i tuoi privilegi una volta avviato. Esegui solo file ELF da fonti affidabili; non usare «chmod +x» ed eseguire download casuali. Ispeziona gli ELF sconosciuti in sicurezza con readelf/objdump o scansionali su VirusTotal prima dell'esecuzione. I file .elf homebrew per console sono a minor rischio (girano nella sandbox di un emulatore) ma è comunque bene ottenerli da fonti homebrew rinomate.

Dettagli del formato

in sintesi
NOME COMPLETOExecutable and Linkable Format
SVILUPPATOREUnix System Laboratories (AT&T); now an open System V / TIS standarddal 1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
TIPO MIMEapplication/x-elf
TIPOFormato binario eseguibile / oggetto / libreria condivisa
STANDARDAperto · royalty-free
MAGIC BYTES · FIRMA DEL FILE
OFFSET
00010203
HEX
7F454C46
ASCII
·ELF
Ogni file ELF inizia con il magic di 4 byte 7F 45 4C 46 (0x7F + «ELF») all'offset 0. Il byte 4 (EI_CLASS) è 1 per 32-bit / 2 per 64-bit; il byte 5 (EI_DATA) è 1 per little-endian / 2 per big-endian; il byte 16 (e_type) indica se si tratta di un eseguibile, un oggetto rilocabile, un oggetto condiviso (.so) o un core dump.

Programmi che aprono file ELF

Windows3 apps
PCSX2 (PlayStation 2 emulator) Open-source Esegue un .elf homebrew/SDK per PS2: File > Run ELF (o avvia direttamente il .elf). Solo per binari ELF per PS2.
Dolphin (GameCube/Wii emulator) Open-source Apri un .elf homebrew per GameCube/Wii in Dolphin per eseguirlo. Solo per binari ELF per console Nintendo.
Ghidra Open-source Importa l'ELF per disassemblarlo e decompilarlo in C leggibile - per reverse engineering e analisi.
macOS1 app
Ghidra Open-source Importa l'ELF per disassemblarlo e decompilarlo in C leggibile - per reverse engineering e analisi.
Linux4 apps
Linux (run it) Integrato Rendilo eseguibile ed eseguilo: «chmod +x ./program && ./program». Un eseguibile ELF È il programma - non c'è nulla da «visualizzare». Deve corrispondere all'architettura della tua CPU.
readelf (GNU binutils) Open-source Ispeziona senza eseguire: «readelf -a file.elf» mostra intestazioni, sezioni, simboli e l'architettura di destinazione.
objdump (GNU binutils) Open-source Disassembla: «objdump -d file.elf» mostra il codice macchina; «objdump -x» mostra tutte le intestazioni.
Ghidra Open-source Importa l'ELF per disassemblarlo e decompilarlo in C leggibile - per reverse engineering e analisi.

Dettagli tecnici

specifiche approfondite
Numero magico`7F 45 4C 46` (0x7F seguito da ASCII `ELF`) all'offset di byte 0, presente in ogni file ELF valido
Tipo MIME`application/x-elf`
Varianti dimensione parola32-bit (EI_CLASS = `01`) e 64-bit (EI_CLASS = `02`), codificati all'offset 4 nell'intestazione ELF
Campo ordine byteEI_DATA all'offset 5: `01` = little-endian, `02` = big-endian; determinato dall'architettura hardware di destinazione
Tipi di file (e_type)ET_EXEC (eseguibile), ET_REL (oggetto rilocabile), ET_DYN (oggetto condiviso o PIE), ET_CORE (core dump)
Architetture di destinazionex86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC e molte altre, identificate dal campo `e_machine` nell'intestazione ELF
Identificatore OS/ABIIl byte EI_OSABI all'offset 7 specifica l'ABI di destinazione: 0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
Layout della strutturaIntestazione ELF → tabella intestazione programma opzionale (segmenti di caricamento runtime) → dati → tabella intestazione sezioni opzionale (sezioni tempo di collegamento)
Sezioni nominate principali`.text` (codice), `.data` (dati inizializzati), `.bss` (dati inizializzati a zero), `.rodata` (costanti), `.symtab` / `.dynsym` (simboli), `.rel` / `.rela` (rilocazioni)
Collegamento dinamicoGli oggetti condivisi vengono risolti al momento del caricamento dal linker runtime (`ld.so`); il percorso dell'interprete richiesto è memorizzato nell'intestazione del programma `PT_INTERP`
Informazioni di debugI dati di debug DWARF sono incorporati nelle sezioni ELF `.debug_*` e possono essere rimossi dai binari di produzione con il comando `strip`
Eseguibili indipendenti dalla posizioneI binari PIE sono di tipo ET_DYN e supportano ASLR; il kernel Linux randomizza il loro indirizzo di caricamento base a ogni avvio
Strumenti di ispezione primari`readelf -a` (intestazioni, simboli, sezioni) e `objdump -d` (disassemblaggio), entrambi forniti da GNU Binutils
Rilasciato1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
Standard apertoSì · royalty-free
Specificarefspecs.linuxfoundation.org

Conversioni ELF

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file ELF. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file ELF.

Domande frequenti

Come si apre un file ELF?
Dipende da cosa si tratta. Un programma ELF per Linux si esegue, non si apre: «chmod +x ./file && ./file». Un .elf homebrew per PlayStation 2 gira in PCSX2; un .elf per GameCube/Wii gira in Dolphin. Per guardare all'interno di qualsiasi ELF senza eseguirlo, usa readelf, objdump o Ghidra.
Posso eseguire un file ELF su Windows?
Non nativamente - ELF è il formato Unix/Linux, Windows usa EXE/PE. Usa WSL (Windows Subsystem for Linux) o una VM Linux per eseguire un ELF Linux, oppure un emulatore (PCSX2/Dolphin) per eseguire un .elf homebrew per console.
Un file ELF è uguale a un EXE?
Sono equivalenti su sistemi diversi: ELF è il formato eseguibile di Linux/Unix, EXE (PE) è quello di Windows. Non sono intercambiabili e non possono essere convertiti l'uno nell'altro.
Come si esegue un ELF in PCSX2 o Dolphin?
In PCSX2 usa «Run ELF» (o avvia il .elf) per gli homebrew PS2; in Dolphin apri direttamente il .elf per gli homebrew GameCube/Wii. È necessario l'emulatore appropriato per la console per cui l'ELF è stato creato.
Come posso vedere cosa c'è dentro un file ELF?
Usa «readelf -a file» per intestazioni/sezioni/simboli, «objdump -d file» per disassemblare, oppure importalo in Ghidra per decompilarlo in C. Questo ispeziona il file senza eseguirlo.
È sicuro eseguire un file ELF?
Solo se proviene da una fonte affidabile - i binari ELF possono essere malware (le botnet Linux/IoT sono ELF). Ispeziona quelli sconosciuti con readelf/VirusTotal prima. I file .elf homebrew per console girano in una sandbox all'interno di un emulatore e sono a basso rischio.

Riferimenti

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

Continua a esplorare

nel database

Migliori estensioni della settimana

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)

Estensioni correlate

.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)

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z