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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Самораспаковывающийся, или самоизвлекающийся архив (англ. 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[en], входящая в состав 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 года.