El Formato Ejecutable y Enlazable (ELF) es un formato de archivo estándar y ampliamente utilizado para ejecutables, código objeto, bibliotecas compartidas y volcados de memoria (core dumps). Su implementación es común en numerosos sistemas operativos tipo Unix, incluyendo plataformas como Linux, Solaris, FreeBSD y otros. Los archivos ELF están diseñados con una filosofía de flexibilidad y extensibilidad, lo que permite que una amplia gama de arquitecturas y sistemas operativos puedan emplear el mismo formato básico de manera consistente. La estructura interna de un archivo ELF se compone de una cabecera (header), cabeceras de programa (program headers), cabeceras de sección (section headers) y los datos propiamente dichos. La cabecera principal describe la organización general del archivo, incluyendo el punto de entrada para la ejecución del programa. Las cabeceras de programa definen segmentos, que son regiones contiguas del archivo destinadas a ser cargadas en la memoria durante la ejecución. Por otro lado, las cabeceras de sección describen secciones, las cuales son fundamentales para el proceso de enlazado y la depuración. Los datos en sí contienen el código ejecutable y la información del programa. Los archivos ELF pueden ser enlazados estáticamente, lo que implica que todo el código necesario se incluye directamente en el archivo ejecutable, o enlazados dinámicamente, donde parte del código se carga desde bibliotecas compartidas en tiempo de ejecución. Esta última opción contribuye a la creación de archivos ejecutables más pequeños y facilita las actualizaciones de las bibliotecas compartidas.