Создание крошечных ELF-исполняемых файлов для Linux: размер имеет значение

Creating Teensy ELF Executables for Linux (Or, "Size Is Everything")

Это руководство показывает, как уменьшить простую программу на C с почти 4 КБ до 368 байт, используя ассемблер, системные вызовы Linux и ручную настройку ELF-файла. Вы узнаете о внутренностях формата ELF, о том, как работает загрузка программ в Linux, и о методах оптимизации размера исполняемого файла. Автор шаг за шагом демонстрирует процесс, включая использование опций gcc, таких как -nostartfiles и -nostdlib, и написание собственного кода на ассемблере.

Мы можем сделать нашу программу ещё меньше, используя более короткие инструкции: вместо инициализации всего регистра ebx достаточно установить только его младший байт, а для установки eax в единицу можно использовать xor и инкремент.

Ещё за этот день

2026-08-30