" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1977
Просмотры материалов : 7224348
 
Упаковка программ в UPX (18.11.2023). Печать E-mail
2023 - Ноябрь
18.11.2023 18:10
Save & Share
В рамках освобождения места на хостинге, была попытка использования упаковщика файлов UPX: когда исполняемый файл или библиотеки сжимаются так, что не меняется ни расширение, ни функционирование. Использовался UPX v.4.2.1 для Windows x64 с максимальной компрессией (9).



Эксперимент проводился не на всех программах и библиотеках, а выборочно на 3-х: после визуальной оценки всех архивов сайта - выяснились их малые размеры, исчисляемые единицами мегабайт, - игра свеч не стоит. Итоги с архивами по алгоритму Deflate64 с максимальной компрессией:
- brightnesser.zip (сжимались OCX, EXE): в расжатом исходном состоянии - 1.1МБ, в сжатом исходном состоянии - 347КБ, в расжатом упакованном состоянии - 820КБ, в сжатом упакованном состоянии - 347КБ. Выигрыш без архиватора - 0.28МБ (-25.5%), выигрыш с архиватором - 0МБ (-0%);
- rheostat.zip (сжимались OCX, EXE): в расжатом исходном состоянии - 1.5МБ, в сжатом исходном состоянии - 659КБ, в расжатом упакованном состоянии - 771КБ, в сжатом упакованном состоянии - 596КБ. Выигрыш без архиватора - 729КБ (-48.6%), выигрыш с архиватором - 63КБ (-9.6%);
- shut_up.zip (сжимался EXE): в расжатом исходном состоянии - 5.74МБ, в сжатом исходном состоянии - 5.43МБ, в расжатом упакованном состоянии - 5.5МБ, в сжатом упакованном состоянии - 5.42МБ. Выигрыш без архиватора - 0.24МБ (-5.6%), выигрыш с архиватором - 0.01МБ (-0.2%).

Напоследок, были проведены эксперименты над:
- notepad.exe в составе портативной Windows 10 от Стрельца: EXE - 198→98КБ (-50.63%), ZIP - 97→93КБ (-4.12%), 7Z - 85→93КБ (+9.41%);
- UltraISO.exe в то же составе: EXE: 5352→1846КБ (-65.52%), остальные данные - утеряны;
- папки Windows, System32, SysWOW64 стационарной Windows 10 v.22H2 - с опциями --force, --ultra-brute (максимальная компрессия всего, что получится). Крики сжимаемой операционной системы разошлись по всем чертогам цифрового ада - и после 10-часовой экзекуции она благополучно сдохла, не загрузившись и потребовавши восстановления (контрольные суммы файлов, указанные в их заголовках, не совпали с посчитанными). Разницу размеров между несжатыми и сжатыми папками проверить забыл.

Итоги:
- UPX не выгоден при использовании архивов - но возможно получить положительный результат в виде улучшения сжатия на единицы процентов. То есть - применим к архивам большого объема, состоящим именно из библиотек/приложений;
- упаковка UPX, в контексте дальнейшего сжатия архиватором, - как карта ляжет: возможен и отрицательный результат. При пережатии архивов ZIP Deflate в ZIP Deflate64 тоже бывало увеличение размера - но не настолько критичная разница, как с UPX;
- рациональный смысл использования UPX - для упаковки именно несжатых библиотек и исполняемых файлов;
- подходит только для личного использования. Если на работе сжать все библиотеки и исполняемые файлы 1С - у специалистов 1С и отдела "К" могут возникнуть вопросы - и 100% потеря всех гарантий.

Разное по UPX:
- не умеет работать с поддиректориями - сжимает файлы только в текущей директории;
- судя по работе с файлами на флешке: копирует файл в RAM - и именно там его крутит/вертит сжатиями;
- работает только с одним ядром процессора;
- сжатие файлов разных типов и размеров позволяет вывести субъективный средний процент сжатия 33% (в 3 раза);
- когда UPX сжимает библиотеки 72 разными методами и приложения 12 разными методами, он выбирает лучший именно после окончания сжатия - то есть, итог каждого сжатия, в т.ч. с отрицательным результатом, невозможно предсказать.
Обновлено ( 18.11.2023 19:28 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru