что такое самораспаковывающийся архивный файл
Самораспаковывающийся архив
Основной способ использования самораспаковывающихся архивов — создание программ для установки ПО без использования систем управления пакетами.
Исполняемый код, присоединённый к архиву, может представлять собой полноценную программу распаковки. Так как существует вероятность выполнения кода распаковщика, самораспаковывающийся архив или замаскированный под него файл может использоваться для распространения вредоносного ПО.
Содержание
Примеры
Примеры программ, способных создавать самораспаковывающиеся архивы:
Данная программа создана исключительно для создания многофункциональных SFX архивов / пакетов инсталляторов и обладает широкими возможностями в плане функционала и возможностей создаваемого архива
Также такие архивы в своих форматах для соответствующих платформ могут создавать StuffIt и WinZip.
Существуют также программы, которые создают архивы в виде сценариев оболочки UNIX. Это часто используется для создания программ установки коммерческого ПО для UNIX-подобных ОС. Примеры: makeself и более старая shar.
Совместимость
Так как программа для одной платформы часто не может выполняться на других, то и распаковка самораспаковывающегося архива, созданного для одной системы, на других может быть затруднена.
Самораспаковывающиеся архивы в некоторых форматах — например, RAR и ZIP — могут быть распакованы самостоятельной программой распаковки.
Также можно создать код, который будет поддерживаться без дополнительных программ сразу на нескольких операционных системах — например, DOS и OS/2.
Или код, который будет поддерживаться стандартной поставкой одной ОС, и дополнительными средствами в другой — например, с использованием Python или shell (см. выше).
Архив с кодом под Win32 может потребовать дополнительных действий после распаковки с помощью Wine на UNIX-подобной системе — в частности, установки битов прав доступа.
мошенничество в России
В России такой тип ПО завоевал популярность у различного рода интернет мошенников. Под видом бесплатного ПО, либо фото и видео информации пользователям предлагалось скачать себе на компьютер самораспаковывающиеся архив, после в процессе открытия файла программа предлагала отослать «СМС» для завершения распаковки и получения нужной информации. Однако даже в случае отправки платного «СМС» пользователь в лучшем случае получал «пустышку» а в ряде случаев за место искомого файла на компьютер попадало вредоносное-вирусное ПО.
Как сделать самораспаковывающийся архив
Самораспаковывающиеся архивы используются для передачи файлов. С помощью этого способа информацией обмениваются через любое облако, интернет или физический накопитель. Архив запаковывает файлы при помощи сжатия. Думать о том, есть ли у получателя специальная программа, не придется, поскольку распаковка выполняется без этого.
Как отличить архивы
Значок запакованных файлов при этом встречается разный. Он меняется в зависимости от используемого приложения и ее версии.
Создание архива
Порядок действий зависит от используемой программы. Сжатие файлов обычно выполняют с помощью утилиты 7zip, WinZIP или WinRAR. На примере этих программ мы рассмотрим, как там создаются самораспаковывающиеся файлы.
WinRAR
У пользователей эта программа пользуется наибольшим спросом. Для самораспаковывающегося файла выполняются почти такие же действия, только в настройках дополнительно указывается некоторая информация. Интерфейс этой программы обычно на английском языке, но разобраться в нем удастся даже при наличии минимальных знаний. Последовательность действий:
Для самораспаковывающихся файлов устанавливают и дополнительные параметры, если в этом есть необходимость. Достаточно перейти во вторую вкладку, чтобы открыть дополнительные опции. Они появятся после нажатия на кнопку SFX options. В открывшемся окне пользователь указывает место распаковки или меняет иконку, если ее внешний вид не устраивает. Также там есть возможность добавлять лицензионные данные. Это необходимо, если другой человек с помощью архива продает какой-то продукт.
У этого приложения нет бесплатной пробной версии и постоянно всплывающих окон с просьбой о продлении лицензии, как это сделано в предыдущей утилите.
Для создания архива также необходимо кликнуть правой кнопкой мыши по выбранным файлам, а в контекстном меню нажать «Добавить к архиву» и выбрать соответствующую программу. Откроется окно программы, где потребуется указать имя файла и остальные настройки. Весь интерфейс создан на русском языке, поэтому с его помощью создать самораспаковывающийся файл еще проще.
Напротив строки с форматом выберите 7z, а в блоке с дополнительными опциями нажмите на «Создать SFX-архив». Чтобы настройки сработали, сначала обязательно следует указать формат файла. После этого нажмите ОК, так запустится архивация.
Для распаковки файла достаточно 2 раза нажать на него, а в появившемся окне изменить место, где появится файл и тапнуть по кнопке Extract.
Архивы этой программы иногда блокируются антивирусами. Они ошибочно полагают, что там есть вредоносные файлы, даже если на самом деле папка чиста. На Windows 10 встроенный защитник удаляет такие архивы без предупреждения, поэтому пользователям следует его предварительно отключить:
При установке нескольких антивирусов встроенный защитник моментально блокируется другим, чтобы он не удалил файл, тогда при переходе в настройки все функции будут уже отключены.
WinZip
Эта программа в основном используется зарубежными гражданами. По популярности она на первом месте в Европе, поэтому ее выпустили еще и с русским интерфейсом. WinZip создает самораспаковывающиеся файлы только в том случае, если уже сделан стандартный архив. В связи с этим меняется принцип использования утилиты:
Как выбрать архиватор
Мы рассмотрели инструкцию по созданию самораспаковывающихся файлов только на 3 программах. Выбирать среди них или другого ПО следует на основе личных предпочтений. Для упрощения задачи рассмотрим их основные особенности:
Поскольку любой SFX-архив не нуждается в предварительной установке подходящего приложения, его считают более удобным вариантом и отличной альтернативой простому сжатию файлов. Создаются самораспаковывающиеся пакеты за несколько минут с помощью любой из предложенных программ.
Коммерческие самораспаковывающиеся архивы: защищенность, принципы работы
Одной из серьезных существующих проблем в области развития и распространения информационных технологий является защита авторских прав на такие объекты интеллектуальной собственности как программное обеспечение, аудио-, видео- материалы и любую иную информацию, которая может быть представлена в электронном виде. Собственники такого рода объектов вынуждены прибегать к различным средствам защиты от копирования и несанкционированного распространения, которые зачастую обладают подчас большей стоимостью, чем сами объекты защиты.
Однако в некоторых случаях возникает задача коммерческого распространения цифрового контента, который обладает достаточно низкой стоимостью, и поэтому экономически нецелесообразно использовать дорогостоящие средства защиты. В связи с этой ситуацией на рынке интеллектуальной собственности сравнительно недавно появились доступные (фактически, бесплатные) для любого пользователя, в том числе, не обладающего какими-либо специальными навыками средства защиты контента, позволяющие извлекать прибыль от распространения объектов интеллектуальной собственности. Принцип работы подобных средств основан на создании самораспаковывающегося архива [1] (в дальнейшем СРА) (англ. self-extracting archive, сокращенно «SFX archive»), требующего для извлечения файлов соответствующую оплату и последующий ввод ключевого слова (кода). СРА создается с помощью специальной клиентской программы, использующий особенности формата исполняемых файлов [2] (по сути, стеганографическую вставку данных).
Родоначальником сервиса коммерческих СРА была программа от сервиса ZipCoin, и появилась она в 2009 году. Следующие за ней проекты подхватили идею и начали развивать это направление.
Общая информация о СРА
Функциональная схема сервиса коммерческих самораспаковывающихся архивов
Ниже, на рисунке 1, представлена типовая функциональная схема сервиса коммерческих СРА:
Рис.1 Функциональная схема сервиса коммерческих
Описание подхода к системе защиты цифрового контента в самораспаковывающихся архивах.
Самораспаковывающийся архив – это файл (компьютерная программа), объединяющий в себя архив и исполняемый код для его распаковки. Такие архивы в отличие от обычных не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе.
Как правило, коммерческие СРА используют особенности PE формата [5] – формата исполняемых файлов, объектного кода и динамических библиотек, используемого в 32- и 64-битных версиях операционной системы Microsoft Windows, позволяющие встраивать данные в конец файла. Обобщенная структура PE-файла представленная на рисунке 2. Например, формат исполняемого EXE-файла позволяет дописывать абсолютно любые данные в конец файла программы, при этом программа будет работать как и прежде. Фактически, используются возможности компьютерной стеганографии и стеганографическое скрытие данных в формате исполняемого файла [6]. Эти возможности PE формата и используются некоторыми сервисами СРА.
Рис. 2 Обобщенный формат PE-файла
На рисунке 3 представлен возможный вариант компоновки СРА.
Рис. 3. Вариант компоновки СРА
Таким образом, технология работы СРА сводиться к следующим этапам:
1. Запуск программы и ввод учетных данных партнера для доступа с помощью клиентской программы к веб-сервису СРА.
2. Выбор необходимых файлов с указанием их параметров.
3. Упаковка выбранных в файлов в СРА.
3.1. Запись кода исходной программы в целевой файл СРА.
3.2. Запрос к веб-сервису об уникальных параметрах архива (идентификатор архива, ключевое слово).
3.3. Запись в СРА маркера начала заголовка встроенных данных после кода исходной программы.
3.4. Формирование и запись заголовка встроенных данных,.
3.5. Архивация цифрового контента.
3.6. Шифрование цифрового контента.
3.7. Запись полученных данных в целевой файл.
Самораспаковывающиеся файлы используются для обмена сжатыми файлами с стороной, у которой не обязательно есть программное обеспечение для распаковки файла. Пользователи также могут использовать самораспаковывающееся программное обеспечение для распространения своего программного обеспечения. Например, программа установки WinRAR выполняется с помощью самораспаковывающегося графического модуля RAR с графическим интерфейсом пользователя Default.sfx.
СОДЕРЖАНИЕ
Обзор
Он включает в себя модуль исполняемого файла, модуль, используемый для запуска несжатых файлов из сжатых файлов. Такой сжатый файл не требует внешней программы для распаковки содержимого самораспаковывающегося файла, и он может сам выполнять операцию. Однако файловые архиваторы, такие как WinRAR, могут обрабатывать самораспаковывающиеся файлы как любые другие сжатые файлы. Пользователи, которые не хотят запускать самораспаковывающийся файл, который они получили (например, если он может содержать вирус), могут использовать файловый архиватор для просмотра или распаковки его содержимого без запуска исполняемого кода.
При выполнении самораспаковывающегося архива в операционной системе, которая его поддерживает, содержимое архива извлекается и сохраняется в виде файлов на диске. Часто встроенный самораспаковщик поддерживает ряд аргументов командной строки для управления поведением, то есть для указания целевого местоположения или выбора только определенных файлов для извлечения.
Преимущества
Архивирование файлов вместо их отправки по отдельности позволяет объединить несколько связанных файлов в один ресурс. Он также имеет преимущество уменьшения размера файлов, которые еще не были эффективно сжаты (многие алгоритмы сжатия не могут уменьшить размер уже сжатых данных. Поэтому сжатие обычно уменьшает размер обычного текстового документа, но практически не влияет на изображение JPEG или документ текстового процессора. Это связано с тем, что большинство современных форматов файлов текстовых процессоров теперь уже включают определенный уровень сжатия). Самораспаковывающиеся архивы также расширяют преимущества сжатых архивов для пользователей, у которых на компьютере нет необходимых программ для извлечения их содержимого, но которые работают под управлением совместимой операционной системы. Однако для пользователей, у которых есть программное обеспечение для управления архивами, самораспаковывающийся архив может быть немного более удобным.
Самораспаковывающиеся архивы также позволяют зашифровать их содержимое в целях безопасности при условии, что выбранный базовый алгоритм сжатия и формат позволяют это. Однако во многих случаях имена файлов и каталогов не являются частью шифрования и могут быть просмотрены кем угодно, даже без ключа или пароля. Кроме того, некоторые алгоритмы шифрования полагаются на отсутствие известных частичных открытых текстов, поэтому, если злоумышленник сможет угадать часть содержимого файлов только по их именам или контексту, он сможет взломать шифрование всего архива только с помощью разумное количество вычислительной мощности и времени. Поэтому необходимо проявлять осторожность или использовать более подходящий алгоритм шифрования.
Недостатки
Кроме того, некоторые системы распространения файлов не принимают исполняемые файлы, чтобы предотвратить передачу вредоносных программ. Эти системы запрещают самораспаковывающиеся архивные файлы, если их не переименовывает отправитель, скажем, в somefiles.exx, а затем получатель снова переименовывает их. Однако этот метод постепенно становится менее эффективным, поскольку все большее количество пакетов безопасности и пакетов антивирусного программного обеспечения сканируют заголовки файлов на предмет базового формата, а не полагаются на правильное расширение файла. Эти системы безопасности не будут обмануты неправильным расширением файла и особенно часто используются при анализе вложений электронной почты.
Самораспаковывающиеся архивы будут работать только в той операционной системе, с которой они совместимы. Кроме того, поскольку они должны включать исполняемый код для обработки извлечения содержащегося файла архива, они немного больше, чем исходный архив.
Как сделать самораспаковывающийся архив.
Что такое SFX и зачем он нужен
Сегодня рассмотрим как сделать самораспаковывающийся архив или SFX archive (аббревиатура английского self-extracting archive) — сжатый файл, состоящий из одного или нескольких документов плюс программный код для их извлечения.
Можно представить что это некий контейнер для хранения, переноски, передачи нужной информации в сжатом виде. Причем если для обычных архивов требуется наличие установленного архиватора для распаковки его содержимого. То здесь таких требований нет. Вынуть из него содержимое несложно при условии использования того же типа операционной системы. Если он создан для Windows, с большой долей вероятности он успешно распакуется на той же платформе с любой версией. Успех будет менее очевидным при попытке извлечения данных в других системах.
Часто подобный метод хранения информации используется для передачи данных в сети интернет. Благодаря ему отправителю можно не переживать о наличии предустановленного приложения для сжатия или какого либо дополнительного ПО у получателя. Сегодня обсудим самые актуальные на текущий момент программы для создания самораспаковывающихся архивов.
Создание SFX-Archive в 7zip
Описание процесса по шагам
Наиболее популярный выбор пользователей, который можно установить бесплатно — 7zip. Поэтому именно на его примере первым разберем процесс создания самораспаковывающегося архива.
Чтобы заархивировать нужную информацию и создать самораспаковывающийся архив используя программу 7zip необходимо:
Если вы правильно выполнили описанные выше шаги, то откроется стандартное окно 7z вида:
Впишите имя, выберите формат (в нашем случае, «7z») и включите чек-бокс, отмеченный на картинке.
Следует отметить что отображение опции станет активным только после выбора формат 7zip. Прочие форматы не поддерживают возможность создать самораспаковывающийся архив.
Закончив с выбором настроек, можно приступать к архивации с помощью клика по кнопочке «Ок».
Перед сжатием можно модифицировать остальные параметры процедуры. К примеру, установить степень сжатия, метод, подключить опцию включения шифрования или разделения на тома. Настройка опций не обязательна. Для быстрого создания достаточно будет остановиться на шаге описанном в предыдущем параграфе.
По окончании в директории с исходными файлами будет создан EXE.
Распаковка
После того как его запустить откроется окошко (см. рисунок внизу), в котором нужно выбрать путь для выгрузки содержимого и подтвердить выбор нажатием на «Extract».
Внимание! Некоторые антивирусы могут воспринимать самораспаковывающиеся архивы как вирусы, несмотря на то, что они таковыми не являются.
Например, приложение Защитник Win 10 не только считает, что во всех архивах вирусы, но и автоматически удаляет подобные экзешники без предупреждения.
Пользователь, который уверен в отсутствии вредоносного кода, для решения проблемы может отключить Защитник Windows 10 на время распаковки.
Создание SFX-Archive в WinRAR
Пошаговая инструкция
Следующим в нашем списке рассмотрим востребованное платное приложение WinRAR. Принцип для ВинРара тот же, что и для предыдущего приложения: выбор документов или папок, клик правой клавишей мышки по файликам и переход в пункт меню «Добавить в архив».
Результатом действий будет открытое стандартное окно WinRAR, в котором потребуется ввести название, включить параметр «Создать самораспаковывающийся архив» и выполнить с помощью Win Rar запуск архивации нажатием кнопки «ОК».
В winrar имеются дополнительные настройки. Пользователю доступен выбор формата (ZIP, RAR4 или RAR). Кроме того доступен для изменения уровень сжимания, есть возможность задействовать разделение по томам заданного размера. Параметры не обязательны, можно оставить их как есть и нажать кнопку «Ок».
По завершению процесса компрессии появится EXE-файл с указанным вами названием.
Извлечение
При запуске полученного архива отобразится экран извлечения, аналогично тому, как на скриншоте ниже.
Файлы начнут распаковываться автоматически после того как указать папку и щелкнуть по кнопке «Извлечь».
Создание SFX-Archive в WinZIP
Руководство, как сжать файлы
Менее популярная, по сравнению с перечисленными выше, утилита WinZip.
Открываем основное окно ВинЗип с помощью ярлыка на рабочем столе. Другой вариант как это сделать — открыть пункт меню «Пуск», написать в поисковой строке название «WinZip» и запустить приложение оттуда.
Далее надо добавить содержание будущего сжатого документа (выбрать файлы) — нажать на кнопочку «С ПК или облачного сервиса». Иной способ — достаточно просто перетащить файлы (технология Drag-N-Drop) в главное окошко WinZip из любой директории.
Когда необходимые файлики добавлены переместитесь на вкладку «Инструменты» и отожмите кнопку «Самораспаковывающийся EXE».
После чего кликните на «Сохранить и запустить».
Следующим шагом приложение рекомендует задать имя ZIP-файла и сохранить. Выполняем предложенные действия и продолжаем.
Далее покажется окно для сохранения самораспаковывающегося EXE-файла. В нем жмем «Ок» и рядом с Zip архивом, в той же папке появится Exe.
Выгрузка сжатых файлов
Скриншот снизу показывает окно, появляющееся если запустить EXE-файл. Распаковка архива начнется сразу же после указания каталога для извлечения и клика по кнопке «Распаковать».
Прочие архиваторы
Кроме вышеописанных программ существуют и другие, редко используемые сейчас архиваторы для создания SFX архивов. К ним относятся такие как ARJ, PKZIP, p7zip, zipSfx, SFX Creator, CAB.
Напишите в комментарии: а какой утилитой пользуетесь вы?