Самораспаковывающийся архив

Самораспаковывающийся, или самоизвлекающийся архив (англ. self-extracting archive, сокращённо «SFX archive») — файл, компьютерная программа, объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая программа распаковки.

Основной способ использования самораспаковывающихся архивов — создание программ для установки ПО без использования систем управления пакетами.

Исполняемый код, присоединённый к архиву, может представлять собой полноценную программу распаковки. Так как существует вероятность выполнения кода распаковщика, самораспаковывающийся архив или замаскированный под него файл может использоваться для распространения вредоносного ПО.

Примеры

Примеры программ, способных создавать самораспаковывающиеся архивы:

7-Zip

ARJ

  • Для различных платформ.

p7zip

  • 7zCon.sfx — ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.

PKZIP

  • Только в зарегистрированных версиях, начиная с 2.70.

RAR и WinRAR

  • Возможно создание настраиваемых самораспаковывающихся архивов RAR (и ZIP в WinRAR) с русским и английским интерфейсом. Настройка архива производится путём задания комментария или в окне «Дополнительные параметры SFX». Возможно изменение значка.

zipSfx

  • Настраиваемый, поддерживает формат ZIP. Настройка производится подготовкой текстового файла и последующей «склейкой» файлов.

SFX Creator

  • Создание настраиваемых самораспаковывающихся архивов для Windows с выбором компрессора (ZLIB, BZIP2, LZMA).
  • Настройка архива производится через графический интерфейс программы.

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

CAB

  • Существует малоизвестная утилита IExpress[англ.], входящая в состав Windows (начиная с Windows XP) и позволяющая создавать в режиме мастера CAB-архивы, в том числе настраиваемые самораспаковывающиеся. Для запуска в окне «Пуск»→«Выполнить…» введите iexpress.exe и нажмите OK.[1][2]

Также такие архивы в своих форматах для соответствующих платформ могут создавать StuffIt и WinZip.

Кроме того, существуют программы, создающие архивы в виде сценариев оболочки UNIX. Это часто используется для создания программ установки коммерческого ПО для UNIX-подобных ОС. Примеры: makeself и более старая shar.

Совместимость

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

Самораспаковывающиеся архивы в некоторых форматах (например RAR и ZIP) могут быть распакованы как обычные (не SFX) с помощью самостоятельной программы распаковки.

Имеется возможность создать код, который будет поддерживаться без дополнительных программ сразу несколькими операционными системами (например DOS и OS/2), а также стандартными средствами в одной ОС и дополнительными средствами в другой (например с использованием Python или shell).

Архив с кодом под Win32 может потребовать дополнительных действий после распаковки с помощью Wine на UNIX-подобной системе — в частности, установки битов прав доступа.

Мошенничество с архивами

В отдельных странах (включая Россию) такой тип ПО завоевал популярность у различного рода интернет-мошенников. Под видом бесплатного ПО, либо фото- и видеоинформации и так далее, пользователям предлагалось скачать себе на компьютер самораспаковывающийся архив (обычно это файл с расширением вида .sfx), якобы содержащий интересующую пользователя информацию. Во время его «распаковки» на определённом проценте выполнения работа программы прерывалась, а на экране высвечивалось предложение отослать SMS для завершения «распаковки» и получения нужной информации. Однако даже в случае отправки платного SMS пользователь в лучшем случае получал «пустышку», а в ряде случаев вместо искомого файла на компьютер попадала вредоносная программа (троян, вирус-вымогатель и т.п.).

См. также

Примечания

  1. IExpress Technology and the IExpress Wizard. Дата обращения: 29 октября 2017. Архивировано 8 июля 2016 года.
  2. Архивация при помощи iexpress. Дата обращения: 6 октября 2013. Архивировано из оригинала 28 декабря 2013 года.