.ELF

Arquivo ELF

Executable and Linkable Format
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo ELF é o formato executável binário usado pelo Linux, Android, os BSDs e a maioria dos sistemas do tipo Unix - o equivalente ao EXE do Windows. No Linux, você o executa diretamente; um .elf de homebrew de PS2 roda no PCSX2, um .elf de GameCube/Wii roda no Dolphin. O ELF não roda nativamente no Windows ou macOS e, como qualquer executável, pode ser um malware, portanto, execute apenas arquivos de fontes em que você confia.

Desenvolvedor: Unix System Laboratories (AT&T); now an open System V / TIS standard Categoria: Arquivos Executáveis Padrão aberto MIME: application/x-elf
ABRE EM Windows macOS Linux
Relacionado: .APK · .EXE · .VBS · .JAR

Nesta página

19k+ extensões indexadas
Última revisão em Aug 26, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro ELF?

Arquivos com a extensão .elf armazenam dados binários estruturados de acordo com o padrão Executable and Linkable Format - o formato padrão de executáveis e objetos para Linux, a maioria dos sistemas do tipo Unix e muitas plataformas embarcadas. O formato foi introduzido com o Unix System V Release 4 pela Unix System Laboratories e posteriormente ratificado como uma especificação portátil Tool Interface Standard (TIS).

Arquivos ELF podem armazenar os seguintes tipos de conteúdo:

  • Arquivos executáveis para aplicativos e ferramentas, frequentemente distribuídos como um arquivo .bin
  • Arquivos de objeto compilados, normalmente carregando a extensão .o
  • Bibliotecas compartilhadas - arquivos com a extensão .so
  • Core dumps (instantâneos de memória produzidos após a falha de um processo)

O formato é construído em torno de uma estrutura binária bem definida. Cada arquivo .elf começa com a sequência mágica de 4 bytes 7F 45 4C 46 (0x7F seguido pelas letras ASCII ELF) no deslocamento 0, seguido por campos de cabeçalho que identificam a arquitetura de destino, o tamanho da palavra (32 bits ou 64 bits) e a ordem dos bytes (little-endian ou big-endian). Duas tabelas opcionais - a tabela de cabeçalho do programa e a tabela de cabeçalho da seção - descrevem então como os segmentos devem ser carregados em tempo de execução e como as seções são organizadas para vinculação.

Embora o padrão ELF tenha sido desenvolvido com sistemas Unix em mente, ele foi rapidamente adotado por outras plataformas, incluindo consoles de videogame como o PlayStation 2 e Wii, Android e muitos ambientes embarcados. O tipo MIME padrão é application/x-elf. O conteúdo de um arquivo .elf não é legível por humanos; ferramentas como readelf e objdump (ambas parte do GNU Binutils) podem inspecionar seus cabeçalhos e descompactar seu código sem executá-lo.

Segurança e proteção

RISCO: HIGH

Como qualquer executável, um ELF pode conter malware - botnets de Linux/IoT (por exemplo, variantes Mirai) são enviadas como binários ELF, e um ELF é executado com seus privilégios uma vez iniciado. Execute apenas arquivos ELF de fontes confiáveis; não use «chmod +x» e execute downloads aleatórios. Inspecione ELFs desconhecidos com segurança usando readelf/objdump ou verifique-os no VirusTotal antes de executar. Arquivos .elf de homebrew de console apresentam menor risco (eles rodam dentro da sandbox de um emulador), mas ainda assim obtenha-os de fontes de homebrew respeitáveis.

Detalhes do formato

em resumo
NOME COMPLETOExecutable and Linkable Format
DESENVOLVEDORUnix System Laboratories (AT&T); now an open System V / TIS standarddesde 1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
TIPO MIMEapplication/x-elf
TIPOFormato de executável binário / objeto / biblioteca compartilhada
PADRÃOAberto · livre de royalties
RELACIONADO.apk.exe.vbs.jar
MAGIC BYTES · ASSINATURA DO ARQUIVO
OFFSET
00010203
HEX
7F454C46
ASCII
·ELF
Cada arquivo ELF começa com o código mágico de 4 bytes 7F 45 4C 46 (0x7F + "ELF") no deslocamento 0. O byte 4 (EI_CLASS) é 1 para 32 bits / 2 para 64 bits; o byte 5 (EI_DATA) é 1 para little-endian / 2 para big-endian; o byte 16 (e_type) informa se é um executável, um objeto realocável, um objeto compartilhado (.so) ou um core dump.

Programas que abrem arquivos ELF

Windows3 apps
PCSX2 (PlayStation 2 emulator) Código aberto Execute um .elf de homebrew/SDK de PS2: Arquivo > Executar ELF (ou inicialize o .elf diretamente). Apenas para binários ELF de PS2.
Dolphin (GameCube/Wii emulator) Código aberto Abra um .elf de homebrew de GameCube/Wii no Dolphin para executá-lo. Apenas para binários ELF de consoles Nintendo.
Ghidra Código aberto Importe o ELF para desmontá-lo e descompilá-lo para C legível - para engenharia reversa/análise.
macOS1 app
Ghidra Código aberto Importe o ELF para desmontá-lo e descompilá-lo para C legível - para engenharia reversa/análise.
Linux4 apps
Linux (run it) Integrado Torne-o executável e execute: «chmod +x ./programa && ./programa». Um executável ELF É o programa - não há nada para «visualizar». Ele deve corresponder à arquitetura da sua CPU.
readelf (GNU binutils) Código aberto Inspecione sem executar: «readelf -a arquivo.elf» mostra cabeçalhos, seções, símbolos e a arquitetura de destino.
objdump (GNU binutils) Código aberto Desmontar: «objdump -d arquivo.elf» mostra o código de máquina; «objdump -x» mostra todos os cabeçalhos.
Ghidra Código aberto Importe o ELF para desmontá-lo e descompilá-lo para C legível - para engenharia reversa/análise.

Detalhes técnicos

especificação profunda
Número mágico`7F 45 4C 46` (0x7F seguido por ASCII `ELF`) no deslocamento de byte 0, presente em cada arquivo ELF válido
Tipo MIME`application/x-elf`
Variantes de tamanho de palavra32 bits (EI_CLASS = `01`) e 64 bits (EI_CLASS = `02`), codificados no deslocamento 4 no cabeçalho ELF
Campo de ordem de bytesEI_DATA no deslocamento 5: `01` = little-endian, `02` = big-endian; determinado pela arquitetura do hardware de destino
Tipos de arquivo (e_type)ET_EXEC (executável), ET_REL (objeto realocável), ET_DYN (objeto compartilhado ou PIE), ET_CORE (core dump)
Arquiteturas de destinox86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC e muitas outras, identificadas pelo campo `e_machine` no cabeçalho ELF
Identificador OS/ABIO byte EI_OSABI no deslocamento 7 especifica a ABI de destino: 0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
Layout da estruturaCabeçalho ELF → tabela de cabeçalho de programa opcional (segmentos de carga em tempo de execução) → dados → tabela de cabeçalho de seção opcional (seções em tempo de vinculação)
Principais seções nomeadas`.text` (código), `.data` (dados inicializados), `.bss` (dados inicializados com zero), `.rodata` (constantes), `.symtab` / `.dynsym` (símbolos), `.rel` / `.rela` (realocações)
Vinculação dinâmicaObjetos compartilhados são resolvidos no momento do carregamento pelo vinculador de tempo de execução (`ld.so`); o caminho do intérprete necessário é armazenado no cabeçalho de programa `PT_INTERP`
Informações de depuraçãoDados de depuração DWARF são incorporados em seções ELF `.debug_*` e podem ser removidos de binários de produção com o comando `strip`
Executáveis independentes de posiçãoBinários PIE são do tipo ET_DYN e suportam ASLR; o kernel do Linux randomiza seu endereço de carga base a cada lançamento
Ferramentas primárias de inspeção`readelf -a` (cabeçalhos, símbolos, seções) e `objdump -d` (desmontagem), ambos fornecidos pelo GNU Binutils
Lançado1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
Padrão abertoSim · livre de royalties
Especificaçãorefspecs.linuxfoundation.org

Conversões de ELF

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos ELF. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos ELF.

Perguntas frequentes

Como abro um arquivo ELF?
Depende do que ele é. Um programa ELF de Linux é executado, não aberto: «chmod +x ./arquivo && ./arquivo». Um .elf de homebrew de PlayStation 2 roda no PCSX2; um .elf de GameCube/Wii roda no Dolphin. Para olhar dentro de qualquer ELF sem executá-lo, use readelf, objdump ou Ghidra.
Posso rodar um arquivo ELF no Windows?
Não nativamente - ELF é o formato Unix/Linux, o Windows usa EXE/PE. Use o WSL (Subsistema Windows para Linux) ou uma VM Linux para rodar um ELF de Linux, ou um emulador (PCSX2/Dolphin) para rodar um .elf de homebrew de console.
Um arquivo ELF é o mesmo que um EXE?
Eles são equivalentes em sistemas diferentes: ELF é o formato executável de Linux/Unix, EXE (PE) é o do Windows. Eles não são intercambiáveis e não podem ser convertidos um no outro.
Como rodo um ELF no PCSX2 ou Dolphin?
No PCSX2 use «Run ELF» (ou inicialize o .elf) para homebrew de PS2; no Dolphin abra o .elf diretamente para homebrew de GameCube/Wii. Você precisa do emulador apropriado para o console para o qual o ELF foi construído.
Como posso ver o que há dentro de um arquivo ELF?
Use «readelf -a arquivo» para cabeçalhos/seções/símbolos, «objdump -d arquivo» para desmontar o código, ou importe-o para o Ghidra para descompilar para C. Isso inspeciona o arquivo sem executá-lo.
É seguro executar um arquivo ELF?
Apenas de uma fonte em que você confia - binários ELF podem ser malware (botnets de Linux/IoT são ELF). Inspecione arquivos desconhecidos com readelf/VirusTotal primeiro. Arquivos .elf de homebrew de console rodam em sandbox dentro de um emulador e apresentam menor risco.

Referências

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

Continue explorando

em todo o banco de dados

Principais extensões desta semana

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

Extensões relacionadas

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

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z