Как сжать файл exe

от admin

Скачать ASPack 2.43

Платформа для создания и использования API. Postman упрощает каждый этап жизненного цикла API и.

Небольшая и простая в эксплуатации программа для Windows, которая позволяет расширить.

ASPack — программа для сжатия исполняемых файлов (EXE, DLL, OCX) и защиты от непрофессионального.

SPRuler — экранная линейка, с помощью которой можно быстро и легко измерить в пикселях любые объекты на экране монитора.

Ini Editor — Программа является расширенным редактором файлов инициализации, которые имеют.

PHP Expert Editor — редактор PHP скриптов и HTML страниц. Имеет встроенный браузер, отладчик, FTP-клиент.

Как сжать файл exe

Как преобразовать exe в файл zip?

    Есть два способа выбрать exe файл(ы):

Какую операционную систему и браузер поддерживает ezyZip?

ezyZip поддерживает любую ОС, которая может работать с современным браузером. Мы протестировали его для работы с Windows, MacOS, Linux (например, Ubuntu, Mint, Debian), Android, ChromeOS (Chromebook), Android, iOS (iPhone, iPad и iPod Touch).

Убедитесь, что вы используете последнюю версию одного из популярных браузеров или их вариации (например, Chrome, Firefox, Safari, Opera).

Что такое ezyZip?

ezyZip представляет собой онлайн-инструмент для сжатия и распаковки архивов, которое позволяет упаковывать файлы в архив. Он также поддерживает распаковку, что позволяет распаковывать zip-файлы.

В отличие от традиционных онлайн-утилит создания и распаковки архивов, при использовании ezyZip не требуется загружать файлы на сервер или скачивать файлы с сервера. Он работает локально как приложение HTML5/javascript в браузере, благодаря чему он работает гораздо быстрее, чем другие аналогичные онлайн-инструменты создания и распаковки архивов.

Сравнение популярных упаковщиков

Программы-упаковщики — это разновидность архиваторов, которые сжимают исполняемые файлы (.exe), динамически подсоединяемые библиотеки (.dll) и др. с сохранением их полной работоспособности в упакованном состоянии. Другими словами, если вы запакуете «экзешник», то он уменьшится в размере и, что немаловажно, не перестанет быть «экзешником». Т.е. его можно будет запускать на выполнение, как если бы он вообще не подвергался действиям подобных утилит.

Упаковщики работают так же, как и архиваторы, за одним лишь исключением — они помещают процедуру распаковки (decompression procedure) в начало программы, которую только что сжали.

Обычно упакованная программа загружается быстрее, чем неупакованная, что объясняется уменьшением ее размера. Однако многие алгоритмы декомпрессии требуют немало оперативной памяти. Если ее в системе не хватает, то запускаемая программа может быть помещена в файл подкачки. В этом случае сжатое приложение будет открываться дольше.

Где находят применение упаковщики, или, как их часто называют, пакеры? Конечно, их используют программисты, чтобы уменьшить размер написанных файлов, ускорить их запуск и защитить от взлома. Но и крекеры (взломщики) не обходят эти программы стороной, создавая декомпрессоры для популярных упаковщиков и внося, таким образом, свою лепту в развитие технологий защиты данных. 🙂 Что касается обычных пользователей, то упаковщик всегда поможет переслать исполняемый файл по почте, разместить в интернете или записать на информационный носитель небольшой емкости, например, дискету. Процедура распаковки занимает считанные байты, поэтому упакованные exe-файлы имеют почти такой же размер, что и заархивированные, однако, как вы понимаете, не требуют для запуска дополнительного ПО, что тоже удобно.

Чтобы определить, в каких случаях и какими программами лучше пользоваться, я предлагаю провести сравнительный анализ. Итак, в сегодняшнем шоу принимают участие следующие известные пакеры.


PECompact v2.76

Размер: 1,3 Mb

Распространение: shareware (14 дней опробования)

Утилита PECompact предназначена для сжатия файлов .exe, .dll, .scr с помощью многочисленных алгоритмов, которые доступны в меню Файл -> Изменить установки. -> Выбрать кодеки. В программе предусмотрена возможность выбора компонентов файлов, которых не следует подвергать компрессии (иконки, курсоры, шрифты и др.), а также функция оптимизации структуры файла, которая позволит без сжатия уменьшить его размер (опция «Trim Only»). Кроме того, PECompact имеет русскоязычный интерфейс и консольную версию — pec2.exe. Также позволяет работать с несколькими файлами сразу.


ASPack v2.12

Размер: 300 Kb

Распространение: shareware (30 дней опробования)

Упаковщик ASPack прост в использовании и, благодаря мощному алгоритму, позволяет добиться 40-70% сжатия для 32-битных приложений Windows. Поддерживаемые файлы: .exe, .dll, .ocx, .dpl, .bpl (файлы библиотек Delphi). Программа может проверить перед окончательной упаковкой функциональность exe-файла и, при нарушении его нормальной работы, отменить сжатие. Для любознательных: ASPack был написан в Borland Delphi 2.0. Русский язык поддерживается.


UpxVis v1.8

Размер: 350 Kb

Распространение: freeware

UPX (the Ultimate Packer for eXecutables) — быстрый упаковщик, работающий в консольном режиме и позволяющий достичь высоких коэффициентов сжатия. Также может выполнять декомпрессию. Поддерживаемые форматы файлов: exe, sys, com, pe (Win32), 386 (Linux) и др. Для UPX написано множество оболочек, значительно повышающих удобство работы с утилитой. Одной из них является UpxVis v1.8. В отличие от классического UPX, программа позволяет устанавливать защиту от декомпрессии и умеет упаковывать dll. Русский язык присутствует.


Подготовка к тестированию

Для качественного сравнения работы программ-упаковщиков были выбраны (случайным образом) исполняемые файлы (.exe) и динамически подсоединяемые библиотеки (.dll) известных приложений, а также мои программы, написанные в Delphi и Visual C++. Сравнение будет проходить по следующим критериям: размер упакованного файла, время компрессии и время декомпрессии, работоспособность файла после сжатия.

Во время тестирования преследуется цель максимально уменьшить размер выходного файла без увеличения времени его распаковки. Для этого в PECompact был выбран алгоритм FFCE, обеспечивающий хорошее сжатие и малое время запуска упакованного файла и установлен максимальный уровень сжатия (9). Остальные настройки — по умолчанию. В настройках ASPack были включены пункты «Сжимать ресурсы» и «Максимальное сжатие», а в UpxVis вместе с упаковкой ресурсов была установлена максимальная степень компрессии (10). Помните, что в ASPack и PECompact параметры упаковки нужно задавать для каждого файла в отдельности


Результаты

По итогам тестирования можно заключить, что все упаковщики справились с предложенной задачей достойно. Самый большой коэффициент сжатия продемонстрировал UPX.

Результаты тестирования упаковщиков
Файлы Исходный размер Размер после упаковки Время упаковки Коэффициент сжатия
PECompact v2.76
Delphi.exe 624 Kb 261 Kb 2 c 58%
C.exe 234 Kb 45 Kb 3 c 80%
Test1.exe 1,7 Mb 756 Kb 30 c 54%
Test2.exe 10 Mb 4 Mb 10 мин 62%
Test1.dll 1 Mb 451 Kb 20 c 57%
Test2.dll 1.5 Mb 703 Kb 15 c 55%
ASPack v2.12
Delphi.exe 624 Kb 251 Kb 10 c 60%
C.exe 234 Kb 46 Kb 3 c 81%
Test1.exe 1,7 Mb 868 Kb 5 c 47%
Test2.exe 10 Mb 3,8 Mb 3 мин 64%
Test1.dll 1 Mb 960 Kb 2 c 10%
Test2.dll 1.5 Mb 739 Kb 17 c 53%
UpxVis v1.8
Delphi.exe 624 Kb 253 Kb 8 c 60%
C.exe 234 Kb 43 Kb 7 c 83%
Test1.exe 1,7 Mb 737 Kb 15 c 57%
Test2.exe 10 Mb
Test1.dll 1 Mb
Test2.dll 1.5 Mb

Однако программа вопреки справке UpxVis отказалась работать с dll и файлами с оверлеем (Test2.exe). PECompact допустил один промах: библиотека под кодовым именем Test1.dll, за которой скрывается файл mfc71.dll (необходим для работы программ, написанных в среде Microsoft Visual Studio .NET 2003), была испорчена. После упаковки все файлы запускались не медленнее, чем до нее.

Упаковщики также были опробованы и на обычных установочных файлах, которые каждый из нас запускает по несколько штук в день. В основном, попадались «экзешники», содержащие экстра данные с жестко заданным смещением (оверлей). UPX с такими файлами работать отказался, а для остальных упаковщиков в настройках опять была включена опция «Сохранять оверлей». PECompact с компрессией справился нормально: программы загружались, но степень сжатия была незначительная. ASPack, напротив, только угробил «экзешники». Вывод: инсталляционные файлы программ упаковывать нет смысла, т.к. они, во-первых, плохо поддаются упаковке и, во-вторых, уже сжаты разработчиками.


Выводы

Упаковщик UPX с оболочкой UpxVis показал наилучшее сжатие исполняемых файлов (.exe). Учитывая то, что программа распространяется бесплатно, можно сказать, что для упаковки «экзешников» целесообразнее применять именно ее. Если UPX что-то не сможет сделать хорошо, то он вам об этом непременно сообщит. Для сжатия dll и файлов с оверлеем (не установочных!) лучше использовать ASPack, т.к. он работает надежнее и быстрее. Я, скорее всего, выберу именно его. А PECompact подкупает лишь возможностью выбора кодеков, с которыми можно поэкспериментировать на досуге. Он сжимает почти так же, как и ASPack, только иногда тратит на это больше времени.

Как сжать файл exe

Как видно из заголовка статьи разговор будет о размере исполняемого файла при компилирование в Lazarus. Это частый вопрос у тех кто только недавно начал программировать в Lazarus. И так начнем.

Введение

Картинка для привлечения внимания

lazarus exe size

При первой компиляции в Lazarus проекта, многие удивляются размеру исполняемого файла . Ниже приведено сравнение размеров скомпилированного пустого проекта в разных средах программирования.

Среда разработки Размер файла по умолчанию (байт) Размер файла с оптимизацией (байт)
Lazarus 15 210 592 1 818 112
Delphi XE7 11 510 970 2 277 376
Delphi 7 368 128 368 128

Как видно из этой таблицы не все так уж и плохо у лазаруса в плане размеров, последние версии Delphi изрядно растолстели, как осенние белки. Но все же далеко ему и до Delphi 7. В общем есть куда стремится. Если же добавить на форму кучу разных компонент то размер файла будет весьма впечатляющий.

Вот пример размера файла самой среды Lazarus собранной с кучей установленных компонентов.

Все каких то 235 мегабайт. 235 мегабайт Карл. Файл lazarus.old.exe собран как раз таки с оптимизацией. Разница в размере видна невооружённым взглядом.

Большой размер исполняемого файла обусловлен тем что компилятор включает много дополнительной отладочной информации, которая помогает отлаживать программу. Но это все требуется зачастую на этапе отладки программы, конечному же пользователя не хочется сидеть и ждать когда через пол часа закачается программа. Вот для это и нужно эту лишнюю информацию исключать.

И так что для этого нужно сделать что бы программа созданная в лазарусе не занимала много места.

Настройка параметров компилирования

Пользователям старой версии лазаруса необходимо было в настройках проекта выставлять различные галочки для исключения лишней информации из файла. Было это примерно так.

Открывалась форма параметры проекта. И на вкладках выставлялись нужные галочки.

На вкладке Компиляция и компоновка снимались галочки.

lazarus project options

На вкладке Отладка снималась галочка «Генерировать отладочную информацию» и ставилась галочка «Вырезать символы из исполнимого файла»

lazarus debug

Данные настройки позволяют уменьшить размер файла.

В новой же версии Lazarus, на данный момент пишу это для версии 1.4.4 все несколько упростилось.

Теперь можно сделать так. Открываем параметры проекта и нажимаем на «Параметры компиляции». Затем нажимаем кнопку рядом с режимами сборки.

lazarus option

Появится окно параметров сборки. Тут нажимаем кнопку «Создать режимы отладочной и конечной сборки «. В окне появится еще два режима сборки, Release и Debug, такие же режимы если в последних версиях Delphi XE?.

Режим Release будет создавать маленький исполняемый файл.

После этого на панели инструментов появится кнопка выбора режимов.

lazarus panel

Достаточно выбрать нужный режим.

Это методы используемые из среды разработки. Теперь про дополнительные методы.

Утилита Strip.exe

В комплекте с компилятором Free Pascal имеется замечательная утилита Strip.exe, которая вычищает отладочную информацию из исполняемого файла.

Утилита запускается из командной строки с параметрами

strip.exe —strip-all project1.exe

Но это не наш метод.

Сделать можно так.

Открываем меню Сервис — Настроить внешние средства.

В открывшемся окне необходимо добавить новый инструмент. Я сделал так.

lazarus strip

Теперь можно пользоваться утилитой strip.exe прямо из среды разработки.

Утилита upx.exe.

Так же для уменьшения размеров файла можно использовать различные упаковщики. Они позволяют существенно уменьшить размер программы. А более продвинутые позволяют установить защиту на исполняемый файл или триальный период. Одной из самых распространенных программ для сжатия файлов является UPX. Данная утилита одна из самых простых в использовании. Из командной строки это делается так.

upx.exe —best project1.exe

Но опять же все можно упростить до минимума.

Как и в предыдущем методе делаем так .

lazarus strip

И можем пользоваться утилитой из среды разработки.

lazarus menu

Она сжимаем файл достаточно хорошо. И не особо уменьшает скорость запуска файла. Пример работы показан на изображение.

lazarus folder

Почти троекратное сжатие файла.

Использование LLCL — Lazarus Light LCL

Недавно появились компоненты которые позволяют существенно уменьшить размер исполняемого файла. Это компоненты LLCL этакий аналог KOL для Delphi. Это набор файлов в которых переработанных классов free pascal (поправьте если ошибаюсь) где часть кода переписана на ассемблере, что позволяет уменьшить размер занимаемый исполняемым файлом. LLCL основан на базе Light VCL replacement for Delphi 7 наборе классов для Delphi 7 .

LLCL не требует установки его в Lazarus, достаточно просто в параметрах компиляции проекта сделать на них ссылку. И при сборке будут использоватся эти классы, а не стандартные от лазаруса.

В общем я сделал так . Скачал данный компоненты. Закинул их в папку где у меня лежат компоненты от лазаря. Затем создал простой проект с формой, на ней разместил несколько компонентов.

lazarus form1

А затем собрал проект. Несколько ниже приведены полные результаты эксперимента. Затем я использовал компоненты LLCL. Делается это так. Открывается окно параметров проекта, затем выбирается пункт пути и нажимается кнопка «Другие модули».

В появившемся окне добавляем в верхнее окно путь к папке с файлами LLCL.

lazarus -fu

Затем нажал Ок и закрыл параметры проекта. И снова собрал проект снова. Исполняемый файл стал весьма меленьким. Решил еще оптимизировать проект. Удалил стандартную иконку из проекта. И пересобрал проект. Программа стала еще меньше. И под конец сжал её upx-ом. Результаты видно тут. Это очень замечательно. Можно писать очень маленькие вирусы утилиты на лазарусе.

P.S. Дальнейшие испытания показали что при использование LLCL придется применять крайне малый набор графических компонент. Это печально.

lazarus all size

Вот собственно и все что можно на данный момент скачать о уменьшение размера приложения в Lazarus, если появится какой либо еще новый способ то я его обязательно опишу.

Читать:
Volatile write cache что это

Похожие статьи