Самораспаковывающийся архив(SFX-архив) - файл, компьютерная программа, объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая программа распаковки.
Основной способ использования самораспаковывающихся архивов — создание программ для установки ПО без использования систем управления пакетами.
Исполняемый код, присоединённый к архиву, может представлять собой полноценную программу распаковки. Так как существует вероятность выполнения кода распаковщика, самораспаковывающийся архив или замаскированный под него файл может использоваться для распространения вредоносного ПО.
Подготовка к созданию SFX
Вне зависимости от того, что вы будете использовать для создания SFX, различий в подготовке не будет. Если вы просто хотите запаковать папку с файлами, то никакой подготовки не требуется. А вот приложения иногда приходится распаковывать. Мы рассмотрим создание SFX архивов при помощи WinRar и 7zip.
|
|
WinRar
С его помощью можно создать незаметный (silent) инсталлятор, который распакует содержимое SFX в заданную папку, выполнит заранее указанную команду, а по окончании установки может удалить распакованные файлы. Помимо всего WinRAR умеет добавлять элементы в меню Пуск, помещать ярлыки на Рабочий стол, а также задавать архиву иконку по вашему выбору.
Алгоритм создания SFX архива в WinRar
1 шаг
Выберите нужные файлы в Проводнике Windows.
2 шаг
Щелкните по одному из выделенных файлов правой кнопкой мыши, затем выберите “Добавить в архив”.
3 шаг
Включите опцию “Создать SFX-архив”.
4 шаг
Перейдите на вкладку “Дополнительно”.
5 шаг
Кликните “Параметры SFX”
6 шаг
На вкладке “Общие” можно указать папку распаковки по умолчанию. Если Вы создаете архив с программой, можно указать папку в “Program Files” как папку распаковки.
7 шаг
На вкладке “Текст и графика” можно указать текст и заголовок окна.
8 шаг
Задайте все параметры архива.
9 шаг
Нажмите ОК.
10 шаг
Нажмите ОК.
7-Zip
7-Zip - бесплатный архиватор, распространяющийся по лицензии GNU LGPL. Если вы с ним не знакомы, то более подробную информацию вы найдете на сайте 7-Zip. С его помощью можно создавать бесключевые SFX, хотя процесс их создания несколько длиннее, чем у WinRAR.
Cпособ 1: выбираем файлы и папки для архивации. нажимаем “Добавить архив” (”+” зелёный). появится окно. в нём в “Опции” выбираем “Создать SFX-архив” и нажимаем “OK”.
|
|
Способ 2: если хочется немного изменить вид программы.
Берём “Res Hacker”, открываем файл 7z.sfx в папке с архиватором “7-zip”, изменяем всё, что нужно, запаковываем “UPX” и заменяем оригинальный файл 7z.sfx в папке с архиватором. Далее по способу 1.
Способ 3: создать архив 7z, взять sfx из папки с архиватором (можно поэкспериментировать из способа 2), потом к готовому sfx приписываем 7z архив.
код:
copy /b sfx.exe+archive.7z
Можно сделать этот sfx с XP стилем.
Для этого в Res Hacker открываем sfx файл, жмём “Действия\Добавить новый ресурс”, нажимаем кнопку “Файл с новым ресурсом…”, выбираем файл в архиве. Дальше заполняем согласно изображению.