UPX (Ultimate Packer for eXecutables) — популярный открытый инструмент для сжатия исполняемых файлов на разных платформах. Он уменьшает размер бинарников без потери функциональности, обеспечивая быстрое распаковку при запуске.
Ключевые особенности
- Поддержка форматов: PE, ELF, Mach-O
- Высокая степень сжатия и скорость
- Кроссплатформенность
- Опции для настройки уровней сжатия
Как работает
- UPX упаковывает секции исполняемого файла и добавляет код распаковщика.
- При запуске вложенный распаковщик восстанавливает оригинальный код в памяти.
- Внешний вид файла меняется, функциональность сохраняется.
Преимущества и недостатки
| Преимущества | Недостатки |
|---|---|
| Экономия места, простота использования | Возможные проблемы с антивирусами, отладкой |
Часто задаваемые вопросы
- Q: Совместим ли UPX с upx Windows и Linux?
- A: Да, поддерживаются PE и ELF.
- Q: Влияет ли упаковка на производительность?
- A: Небольшая накладная при запуске из‑за распаковки; в работе — нет.
Ресурсы: https://upx.github.io ✅