Noticias que mencionan ELF

Guía técnica para crear ejecutables ELF extremadamente pequeños en Linux

Este documento técnico detalla los métodos avanzados para reducir el tamaño de los ejecutables en formato ELF (Executable and Linkable Format) en sistemas operativos Linux, específicamente bajo la arquitectura Intel x86. El objetivo principal es eliminar el exceso de bytes y la sobrecarga innecesari

Ejecutables consultables: programas que son bases de datos SQLite

El formato SELF, basado en hacer que el ejecutable sea una base de datos SQLite, da un paso más y permite que el programa en ejecución escriba su propio estado dentro del mismo fichero del que se ejecuta. La técnica emplea binfmt_misc del kernel de Linux para asociar el archivo a un intérprete perso

SELF: un ejecutable que es una base de datos SQLite

El desarrollador Farid Zakaria presenta SELF (Structured Executable & Linkable Format), un prototipo que reemplaza el formato ELF de los ejecutables en Linux por una base de datos SQLite. El proyecto, disponible en GitHub bajo el nombre selfdb, surge de años de trabajo previos del autor, entre ellos

tmpout_v: índice del número 5 de la revista técnica tmpout.sh

tmpout.sh es una revista digital de carácter técnico y experimental centrada en programación a bajo nivel, formatos binarios ELF en Linux x86-64, ensamblador y técnicas de ofuscación, empaquetado y autoextracción de ejecutables. El número 5, fechado el 23 de agosto de 2026 y firmado por el seudónimo

ddisasm: un desensamblador rápido y preciso para binarios ELF y PE

ddisasm es un desensamblador de código abierto desarrollado por GrammaTech que convierte binarios en código ensamblador lo suficientemente preciso como para ser reensamblado. La herramienta está implementada con el lenguaje de programación lógica declarativa Datalog, concretamente sobre el motor Sou

Comprender a fondo la ABI de C++

# Comprender a fondo la ABI de C++ Cuando un programa se compila y se distribuye como una biblioteca dinámica, existe un contrato invisible que garantiza que el código funcione correctamente al ser enlazado y ejecutado: la Interfaz Binaria de Aplicación, conocida como ABI por sus siglas en inglés.

Escribir un programa en C válido sin función main(): tutorial paso a paso

Este tutorial técnico de iximiuz Labs muestra cómo construir un ejecutable en C que prescinde de la función main() y, opcionalmente, de toda la biblioteca estándar, recurriendo directamente a las llamadas al sistema del kernel de Linux. El recorrido parte de un programa «Hola, mundo» convencional co

Compilación nativa en Go para Nintendo Switch con Ebitengine

El desarrollador Hajime Hoshi, autor del motor 2D Ebitengine, logró compilar un programa escrito en Go directamente en un binario nativo para Nintendo Switch, sin pasar por WebAssembly como intermediar io. Hasta ahora, su método consistía en transformar el código Go en Wasm y luego en C++; esa vía,

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

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,

La variable de entorno LD_DEBUG para depurar bibliotecas compartidas en Linux

La variable de entorno LD_DEBUG es una herramienta poco conocida del enlazador dinámico de Linux que facilita el diagnóstico de problemas de carga de bibliotecas compartidas. En sistemas grandes con múltiples versiones de bibliotecas dinámicas, es habitual que se cargue una versión distinta de la es

Cómo reducir al mínimo un binario en C con GCC

Este artículo analiza paso a paso cómo reducir el tamaño de un ejecutable ELF en x86-64 compilado con GCC partiendo de un programa mínimo que simplemente devuelve 0 al sistema. El autor, mediante una serie de iteraciones con banderas del compilador y código ensamblador inline, consigue reducir el bi

Escribir ensamblador ARM64 portable entre Darwin y otros UNIX

La guía aborda un problema práctico creciente: con la popularización de los ordenadores ARM de Apple, muchos desarrolladores escriben código ensamblador optimizado para estos equipos sin tener en cuenta otros dispositivos ARM64, como placas SBC o servidores con Linux o BSD. El resultado es ensamblad

Binario Linux de 105 bytes: ¿el mínimo ejecutable?

Un desarrollador ha logrado reducir el tamaño de un archivo ELF (Executable and Linkable Format) de Linux a tan solo 105 bytes, mientras mantiene la capacidad de imprimir el mensaje "Hello, world!". Esta hazaña, impulsada por el trabajo de Josh Triplett, se basa en técnicas de optimización que elimi

Cómo Go Compila tu Código: Un Vistazo Interno

El proceso de compilación de un programa en Go, como un simple 'Hola Mundo', es más complejo de lo que parece inicialmente. El compilador transforma el código fuente en archivos objeto (.o) que contienen código de máquina, definiciones de símbolos y marcadores de posición para direcciones que necesi