.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.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.M4AMPEG-4 Audio File
5.EXEWindows Executable (Portable Executable)
6.ICSiCalendar data file
7.DATProgram Data File (generic)
8.RPMSGRestricted Permission Message
9.JSONJavaScript Object Notation file
10.ODTOpenDocument Text

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