Самораспаковывающийся архив | это… Что такое Самораспаковывающийся архив?
Запрос «SFX» перенаправляется сюда; см. также другие значения.
Самораспаковывающийся или самоизвлекающийся архив (англ. self-extracting archive, сокращённо «SFX archive») — файл, компьютерная программа, объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая программа распаковки.
Основной способ использования самораспаковывающихся архивов — создание программ для установки ПО без использования систем управления пакетами.
Исполняемый код, присоединённый к архиву, может представлять собой полноценную программу распаковки. Так как существует вероятность выполнения кода распаковщика, самораспаковывающийся архив или замаскированный под него файл может использоваться для распространения вредоносного ПО.
Содержание
|
Примеры
Примеры программ, способных создавать самораспаковывающиеся архивы:
- 7-Zip
- Ненастраиваемые 7z SFX архивы для Microsoft Windows.
- Существует сторонний настраиваемый модуль — тоже для Windows.
- ARJ
- Для различных платформ.
- p7zip
- 7zCon.sfx — ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.
- PKZIP
- Только в зарегистрированных версиях, начиная с 2.70.
- RAR и WinRAR
- Возможно создание настраиваемых самораспаковывающихся RAR (и ZIP в WinRAR) архивов с русским и английским интерфейсом. Настройка архива производится путем задания комментария или в окне «Дополнительные параметры SFX». Возможно изменение значка.
- zipSfx
- Настраиваемый, поддерживает ZIP формат. Настройка производится подготовкой текстового файла и последующей «склейкой» файлов.
SFX Creator
- Создание настраиваемых самораспаковывающихся архивов для Microsoft Windows с выбором компрессора (ZLIB, BZIP2, LZMA)
- Русскоязычный интерфейс программы
- Настройка архива производится через графический интерфейс программы
Данная программа создана исключительно для создания многофункциональных SFX архивов / пакетов инсталляторов и обладает широкими возможностями в плане функционала и возможностей создаваемого архива
Также такие архивы в своих форматах для соответствующих платформ могут создавать StuffIt и WinZip.
Существуют также программы, которые создают архивы в виде сценариев оболочки UNIX. Это часто используется для создания программ установки коммерческого ПО для UNIX-подобных ОС. Примеры: makeself и более старая shar.
Совместимость
Так как программа для одной платформы часто не может выполняться на других, то и распаковка самораспаковывающегося архива, созданного для одной системы, на других может быть затруднена.
Самораспаковывающиеся архивы в некоторых форматах — например, RAR и ZIP — могут быть распакованы самостоятельной программой распаковки.
Также можно создать код, который будет поддерживаться без дополнительных программ сразу на нескольких операционных системах — например, DOS и OS/2.
Или код, который будет поддерживаться стандартной поставкой одной ОС, и дополнительными средствами в другой — например, с использованием Python или shell (см. выше).
Архив с кодом под Win32 может потребовать дополнительных действий после распаковки с помощью Wine на UNIX-подобной системе — в частности, установки битов прав доступа.
мошенничество в России
В России такой тип ПО завоевал популярность у различного рода интернет мошенников. Под видом бесплатного ПО, либо фото и видео информации пользователям предлагалось скачать себе на компьютер самораспаковывающиеся архив, после в процессе открытия файла программа предлагала отослать «СМС» для завершения распаковки и получения нужной информации. Однако даже в случае отправки платного «СМС» пользователь в лучшем случае получал «пустышку» а в ряде случаев за место искомого файла на компьютер попадало вредоносное-вирусное ПО.
См. также
- Непрерывный архив
- Многотомный архив
SFX архив — что это такое?
Всем известно, что запакованные архиватором файлы занимают намного меньше места. Как следствие, архивы быстрее передаются по сети. В последнее время популярностью пользуется так называемый SFX-архив, который обладает способностью к самораспаковке. Интересна эта функция тем, что такой архив может быть распаковован на любом компьютере, даже при отсутствии программы архиватора. Достигается это за счёт включения в архив модуля самораспаковки, который лишь незначительно увеличивает размер архива в целом.
Создать SFX-архив можно перед сжатием файлов, в результате будет создан не обычный архив, а исполняемый файл с расширением *.exe. Программа распаковки запускается сразу после двойного клика по файлу. Окошко, хоть и скромное в большинстве случаев, но функции свои выполняет: есть возможность извлечь файлы в папку с архивом или задать требуемый путь вручную.
Такой способ распространения файлов подходит для тех, кто не уверен, что получатель разбирается в компьютерах и сможет распаковать посылку самостоятельно. Основное преимущество, которое заставляет использовать SFX-архив – простота. Пользователю не надо устанавливать лишние программы, не требуется никаких дополнительных знаний и навыков. Всё, что требуется от получателя – запустить распаковку и ждать её окончания.
Недостатков у такого способа два. Самый главный кроется в риске наткнуться на вирус, встроенный в код архива. Всё чаще в сети предлагают скачать полезные файлы в виде таких архивов, но, скорее всего, это либо вирусы, либо вымогательство денег (отправка СМС за распаковку). Использование простейших правил безопасности и игнорирование подобных архивов от неизвестных поставщиков позволят избежать подобных проблем и снизить риск.
Второй недостаток кроется в том, что SFX-архив в силу неблагонадёжности расценивается антивирусами как вредоносный файл и в лучшем случае просто блокируется запуск распаковки. В худшем – архив удаляется. Если вы доверяете источнику, то отключайте защиту и проводите распаковку, если нет — просканируйте файл вручную, чтобы убедиться в его безопасности.
Подобные архивы применяются для распространения модификаций к играм. Иногда 7z SFX-архивы сбивают пользователей с толку – их принимают за вирусы, файлы игры и просто за лишние файлы. Всё потому, что сейчас встретить такой архив – редкость т. к. на данный момент больше популярен формат *.rar или *.zip.
Где SFX-архив незаменим, так это в резервном копировании данных. Дело в том, что такой архив удобнее, если вы планируете распаковывать его редко и полностью. Антивирус не тратит ресурсы на постоянное сканирование доверенных exe-файлов, а в случае переноса данных или их восстановления вся процедура займёт всего пару кликов.
В заключение хочется подвести итог: данный тип архивов идеален для личного пользования, но крайне нежелателен для распространения файлов в сети. Скачивать неизвестные файлы, способные к самостоятельной распаковке, не рекомендуется. При запуске от имени администратора антивирус не сможет контролировать модуль SFX. Программа получит доступ к системным файлам. Например, безобидная, казалось бы, функция «удалить файлы после распаковки», может быть использована для уничтожения всех данных на диске пользователя.
Переключатель-sfx (создать SFX-архив)
-sfx (создать SFX-архив) переключательСоздает самораспаковывающийся архив.
Синтаксис
-sfx[{SFX_Module}]
- {SFX_Module}
Указывает модуль SFX, который будет объединен с архивом. Этот модуль должен находиться в той же директории, что и 7z.exe. Если {SFX_Module} не назначен, 7-Zip будет использовать стандартную консоль. SFX-модуль 7zCon.sfx.
SFX_Module Description 7z.sfx SFX module (GUI version) 7zCon. sfx SFX module (Console version) 7zSD.sfx SFX module for installers (версия с графическим интерфейсом) 7zS2.sfx малый SFX-модуль для установщиков (версия с графическим интерфейсом) 7zS2con.sfx малый модуль SFX для установщиков (консольная версия)
Модуль SFX может распаковывать архив 7z или многотомный архив 7z. Например, если у вас есть архив name.7z или name.7z.001, просто переименуйте sfx muldule в name.exe и поместите в ту же папку с архивом.
Модули SFX для инсталляторов
МодулиSFX для установщиков включены во внешний пакет (LZMA SDK). Вы можете скачать эти модули с www.7-zip.org. SFX-модуль для инсталляторов (7zSD.sfx) позволяет создать собственную программу инсталляции. Такой модуль извлекает архив во временную папку пользователя и запускает указанную программу, и удаляет временные файлы после завершения программы.
копировать /b 7zSD.sfx + config.txt + archive.7z archive.exe
Можно добиться оптимально небольшого размера установочного пакета, если установочные файлы были распакованы перед включением их в архив 7z.
Переключатель-y для модуля установки указывает извлечение в тихом режиме.
Формат файла конфигурации установщика
Этот файл конфигурации содержит команды для установщика. Файл начинается со строки ;!@Install@!UTF-8! и заканчивается ;!@InstallEnd@! . Файл должен быть записан в кодировке UTF-8. Файл содержит любую или все эти пары строк:
ID_String=»Значение»
ID_STRING | Описание |
---|---|
Название | Название для сообщений |
BEGINPROMPT | BEGIN GRIVE Сообщение |
. Значение по умолчанию — «да». | |
RunProgram | Команда для выполнения. Значение по умолчанию — «setup.exe». Подстрока %%T будет заменен на путь к временной папке, в которую были извлечены файлы |
Каталог | Префикс каталога для «RunProgram». Значение по умолчанию: «.\\» |
ExecuteFile | Имя файла для выполнения |
ExecuteParameters | Параметры для «ExecuteFile» |
Любую пару можно опустить.
Существует два способа запуска программы установки: RunProgram и ExecuteFile . Используйте RunProgram , если хотите запустить программу из архива .7z. Используйте ExecuteFile , если вы хотите открыть документ из архива .7z, или если вы хотите выполнить команду из Windows.
Если вы используете RunProgram и если вы укажете пустой префикс каталога: Директория =»», система ищет исполняемый файл в следующей последовательности:
- Каталог, из которого загружено приложение (установщик).
- Временная папка, куда были извлечены файлы.
- Системный каталог Windows.
Примеры файла конфигурации
;!@Установить@!UTF-8! Заголовок="7-Zip 4.00" BeginPrompt="Вы хотите установить 7-Zip 4.00?" ВыполнитьПрограмму="setup.exe" ;!@InstallEnd@!
;!@Установить@!UTF-8! Заголовок="7-Zip 4.00" BeginPrompt="Вы хотите установить 7-Zip 4.00?" ExecuteFile="7zip.msi" ;!@InstallEnd@!
;!@Установить@!UTF-8! Title="7-Zip 4.01 Обновление" BeginPrompt="Вы хотите установить обновление 7-Zip 4.01?" ExecuteFile="msiexec.exe" ExecuteParameters="/i 7zip.msi REINSTALL=ALL REINSTALLMODE=vomus" ;!@InstallEnd@!
Примеры
7z a -sfx a.exe *.txt
добавляет файлы *.txt в самораспаковывающиеся заархивируйте a.exe, используя SFX-модуль консоли по умолчанию.
7z -sfx7z.sfx a.exe *
добавляет все файлы в самораспаковывающийся архив a. exe с модулем 7z.sfx, используя версию модуля SFX для Windows.
Команды, которые можно использовать с этим переключателем
а (добавить), д (удалить), у (обновление),
Самораспаковывающийся архив (SFX) как Creative Virus Handler
12 января 2012 г. Мохит Кумар
Самораспаковывающийся архив (SFX) как Creative Iound Virus Handler
3 »
Самораспаковывающийся архив (SFX)- Запустите приложение WinRAR; нажмите «Обзор папки» в меню «Файл» и перейдите к местоположению файла.
- Если файл выделен, нажатие кнопки «Добавить» запустит процесс архивирования, а выбор параметра «Создать архив SFX» сделает файл самораспаковывающимся.
- На вкладке «Дополнительно» и нажав кнопку «Параметры SFX», мы теперь можем настроить наши «Дополнительные параметры SFX».
- В первое поле ввода вы можете добавить имя файла, который уже существует на текущем диске, или один из извлеченных файлов для выполнения после извлечения.
- Во втором поле ввода вы можете добавить имя файла, который уже существует на текущем диске, для выполнения перед извлечением.
ЧАСТЬ 1. Выполнение основных команд оболочки Windows с использованием SFX:
Пример 1: %SYSTEMDRIVE%\windows\system32\cmd. exe /k shutdown -s -f -t 3600
В первом вводе введите эту команду, если мы сгенерируем пакет SFX и запустим его после извлечения, мы увидим окно DOS и уведомление Windows о том, что наш компьютер выключится через 1 час.
Пример 2: %SYSTEMDRIVE%\windows\notepad.exe c:\atextfile.txt
Это можно сделать с помощью любого другого существующего приложения в системе, например, открыв файл блокнота.
Пример 3: %SYSTEMDRIVE%\Program Files\Internet Explorer\iexplore.exe https://unremote.org/
Открытие веб-страницы с помощью Internet Explorer
ЧАСТЬ 2. Запуск дополнительных хитрых команд с использованием SFX
Используя только небольшую .dll в пакете SFX, злоумышленник может загрузить и выполнить приложение в системе жертвы, которое может или не может быть вирус, и для этого нам просто потребуются « Rundll32 Microsoft application » и « FASM (Flat Assembler) Compiler ».
Теперь создайте новую папку и новый файл с именем ourdll. asm когда это будет сделано, откройте этот файл в FASM и вставьте этот код в файл. Измените путь к файлам в образце кода для личного использования.
Теперь в строке меню нажмите «Выполнить» >> «Скомпилировать». Наша dll готова. Давайте создадим наш загрузчик файлов SFX.
Вам необходимо выполнить следующие шаги:
— Щелкните правой кнопкой мыши на dll и выберите « Добавить в архив » << Опция проводника WinRAR
— Выберите пакет SFX в списке параметров
— Перейдите на вкладку «Дополнительные настройки»
— Нажмите кнопку «Настройки звуковых эффектов»
— В выписке для ввода добавьте эту строку — » %APPDATA%\dcsc\ourdll.dll »
— В первый параметр ввода введите это строка
%SYSTEMDRIVE%\windows\system32\rundll32.exe %APPDATA%\dcsc\ourdll.dll, dcscdownload
Теперь мы можем сгенерировать наш архив, если мы правильно настроили SFX, то он скачается и выполнится выбранный файл после полного извлечения.