El ejecutable Teensy revisado: cómo encoger un ELF conforme al estándar

Fuentes: The Teensy Executable Revisited

Este artículo técnico retoma el reto de construir el ejecutable ELF para Linux x86 más pequeño posible, pero esta vez cumpliendo de forma estricta la especificación ELF. Partiendo de una versión previa de 91 bytes, el autor muestra cómo solapar el encabezado ELF y la tabla de cabeceras de programa, una práctica permitida por el estándar, para reducir el tamaño a 83 bytes. A continuación, explota el campo p_paddr, cuyo contenido la propia especificación deja sin definir, para alojar en él las dos primeras instrucciones del programa (un xor eax,eax de dos bytes precedido por un jmp corto), lo que rebaja el archivo a 81 bytes. El texto describe paso a paso las decisiones, revisa qué garantías ofrecen los registros al inicio de un programa ELF (solo edx, y sin valor definido) y analiza los campos del encabezado que la norma obliga a poner a cero frente a los que pueden reutilizarse. Se trata de un recorrido divulgativo y riguroso por los rincones menos conocidos del formato ELF, útil para programadores de bajo nivel, aficionados a la demoscene y estudiantes de arquitectura de sistemas que quieran entender hasta dónde se puede llevar un ejecutable mínimo sin saltarse las reglas.