Пятница, 17.05.2024, 08:48
Приветствую Вас Гость | RSS
Главная | Сжатие запускных файлов | Регистрация | Вход
Поиск
Форма входа

Меню сайта
Статистика
♥♪♫♥™



Онлайн всего: 1
Гостей: 1
Пользователей: 0


Благодарности
Материал взят с книги Михаила Фленова "Delphi глазами хакера"
Запретов нет!©
Самый простой способ уменьшить размер приложения — использование программы для сжатия файлов. Лично я очень люблю ASPack, которую вы можете скачать с адреса http://www.softportal.com/getsoft-9984-aspack-1.html  (спасибо softportal.com) или скопировать с компакт-диска из директории программы (файл установки называется ASPack.exe). Она прекрасно сжимает исполняемые файлы *.ехе и динамические библиотеки *.dll. Я не буду подробно описывать процесс установки ASPack, потому что там абсолютно нет ничего сложного. Только одно нажатие на кнопке Next, и все готово! Теперь запустите установленную программу, и вы увидите окно, изображенное на рис. 1.1. Главное окно имеет нескольких вкладок:
1. Open file.
2. Compress.
3. Options.
4. About.
5. Help.



Рис. 1.1.

На вкладке Open File есть только одна кнопка — Open. Нажмите на нее и выберите файл, который вы хотите сжать. Как только вы выберете файл, программа перейдет на вкладку Compress и начнет сжатие. Сжатый файл сразу перезаписывает существующий, а старая несжатая версия сохраняется на всякий случай под тем же именем, но с расширением bak. Настроек у ASPack не так уж много (рис. 1.2), и с ними вы сможете разобраться без моей подсказки. Лучше я расскажу вам, как это работает.



Рис. 1.2.

Давайте разберемся, как работает сжатие. Сначала весь код программы сжимается архиватором. Если вы думаете, что он какой-то "навороченный", то сильно ошибаетесь. Для сжатия используется обычный архиватор, только оптимизированный для сжатия двоичного кода. После этого в конец сжатого кода добавляется код разархиватора, который будет программу разжимать обратно. И в самом конце ASPack изменяет заголовок исполняемого файла так, чтобы при старте сначала запускался разархиватор.
Теперь, когда вы запускаете сжатую программу, сначала заработает разархиватор, который разожмет бинарный код программы и аккуратно разместит его в памяти компьютера. Как только этот процесс закончится, разархиватор передаст управление вашей программе. Некоторые считают, что из-за расходов на распаковку программа будет работать медленней!!! Я бы сказал, что вы не заметите разницу. Даже если и будут какие-то потери, то они будут неощутимы (по крайней мере, на современных компьютерах). Это происходит потому, что архивация хорошо оптимизирована под двоичный код. И по сути дела, распаковка происходит только один раз и в дальнейшем никакого влияния на работу программы не оказывает. В результате потери в скорости из-за сжатия будут неощутимы. При нормальном программировании с использованием всех "навороченных" возможностей типа визуальности и объектного программирования код получается большим, но его можно сжать на 60-70% специальным архиватором. А писать такой код намного легче и быстрее. Еще одно "за" использование сжатия — заархивированный код труднее взломать, потому что не каждый disassembler сможет прочитать упакованные команды. Так что помимо уменьшения размера вы получаете защиту, способную отпугнуть большинство взломщиков. Конечно же, профессионала не отпугнешь даже этим, но взломщик средней руки не будет мучиться со сжатым двоичным кодом.
Бесплатный хостинг uCozКопирование материалов сайта строго запрещено! zapretovnet.moy.su © 2024