UPX (Ultimate Packer for eXecutables) - это программа для сжатия исполняемых файлов. Она уменьшает размер EXE, DLL, ELF и других файлов, при этом программа продолжает работать как обычно: при запуске UPX автоматически распаковывает её в памяти.
Исходный код и сами разработчики: https://github.com/upx/upx
--version - показать версию программы
-l - информация о файле (размер до/после, степень сжатия)
(без параметров) - сжать файл
-d - распаковать файл
-t - проверить целостность сжатого файла
-1 … -9 - уровень сжатия
--best - максимальное сжатие (медленнее)
-o <file> - сохранить результат в указанный файл
-k - сохранить копию оригинального файла
-q - тихий режим
-qq - без ошибок
-qqq - полностью без вывода
--strip-relocs=1 - удалить relocation-данные (уменьшает размер EXE)
--compress-icons=0...3 - управление сжатием иконок
--compress-exports=0...1 - сжатие экспортов (может ломать файлы)
--force - принудительное сжатие (использовать осторожно, может ломать файлы)
--lzma - лучшее сжатие, но медленная распаковка
--no-lzma - отключить LZMA
--brute - перебор методов сжатия (медленнее)
--ultra-brute - максимальный перебор (очень медленно)
upx -9 program.exe
upx --best program.exe
upx -d program.exe
upx -t program.exe
upx -l program.exe
upx -9 --lzma program.exe
upx -9 --brute program.exe
Исходный код и сами разработчики: https://github.com/upx/upx
Параметры UPX:
-h, --help - показать справку--version - показать версию программы
-l - информация о файле (размер до/после, степень сжатия)
(без параметров) - сжать файл
-d - распаковать файл
-t - проверить целостность сжатого файла
-1 … -9 - уровень сжатия
--best - максимальное сжатие (медленнее)
-o <file> - сохранить результат в указанный файл
-k - сохранить копию оригинального файла
-q - тихий режим
-qq - без ошибок
-qqq - полностью без вывода
--strip-relocs=1 - удалить relocation-данные (уменьшает размер EXE)
--compress-icons=0...3 - управление сжатием иконок
--compress-exports=0...1 - сжатие экспортов (может ломать файлы)
--force - принудительное сжатие (использовать осторожно, может ломать файлы)
--lzma - лучшее сжатие, но медленная распаковка
--no-lzma - отключить LZMA
--brute - перебор методов сжатия (медленнее)
--ultra-brute - максимальный перебор (очень медленно)
Примеры использования UPX:
upx program.exeupx -9 program.exe
upx --best program.exe
upx -d program.exe
upx -t program.exe
upx -l program.exe
upx -9 --lzma program.exe
upx -9 --brute program.exe