O Executable and Linkable Format (ELF) é um formato de arquivo padrão comum para executáveis, código objeto, bibliotecas compartilhadas e core dumps. É amplamente utilizado em muitos sistemas operacionais do tipo Unix, incluindo Linux, Solaris, FreeBSD e outros. Os arquivos ELF foram projetados para serem flexíveis e extensíveis, permitindo que uma variedade de arquiteturas e sistemas operacionais utilizem o mesmo formato básico. O formato consiste em um cabeçalho, cabeçalhos de programa, cabeçalhos de seção e os dados propriamente ditos. O cabeçalho descreve a estrutura geral do arquivo, incluindo o ponto de entrada para execução. Os cabeçalhos de programa descrevem segmentos, que são regiões contíguas do arquivo carregadas na memória durante a execução. Os cabeçalhos de seção descrevem seções, utilizadas para vinculação (linking) e depuração. Os dados contêm o código e as informações reais do programa. Arquivos ELF podem ser vinculados estaticamente, o que significa que todo o código necessário está incluído no arquivo executável, ou vinculados dinamicamente, significando que parte do código é carregada a partir de bibliotecas compartilhadas em tempo de execução. Isso permite arquivos executáveis menores e atualizações mais fáceis para bibliotecas compartilhadas.