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

редактировать

A самораспаковывающийся архив (SFX / SEA ) - это компьютер исполняемая программа, которая содержит сжатые данные в архивном файле в сочетании с машиноисполняемыми программными инструкциями для извлечения этой информации в совместимой операционной системе и без необходимости в подходящем экстракторе. уже установлен на целевом компьютере. Исполняемая часть файла называется заглушкой, а неисполняемая часть - архивом.

Самораспаковывающиеся файлы очень удобны, если вы хотите передать кому-нибудь сжатый файл, но не знаете, есть ли у него программа сжатия, которая может распаковать файл. Вы также можете использовать самораспаковывающийся файл для распространения собственного программного обеспечения. Например, программа установки WinRAR выполняется с помощью самораспаковывающегося графического модуля RAR с графическим интерфейсом пользователя Default.sfx.

Самораспаковывающийся архив, созданный с помощью 7-Zip
Содержание
  • 1 Обзор
  • 2 Преимущества
  • 3 Недостатки
  • 4 Подготовка
    • 4.1 Подготовка файлов
    • 4.2 Формирование формата
    • 4.3 Информация о настройках
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Обзор

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

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

Несамораспаковывающиеся архивы содержат только заархивированные файлы и поэтому должны быть извлечены с помощью совместимой программы. Самораспаковывающиеся архивы не могут самораспаковываться в другой операционной системе, но чаще всего их все же можно открыть с помощью подходящего экстрактора, так как этот инструмент не будет учитывать исполняемую часть файла и вместо этого извлечет только ресурс архива. В некоторых случаях это требует переименования самораспаковывающегося исполняемого файла для хранения расширения файла, связанного с соответствующим упаковщиком. Самораспаковывающиеся файлы обычно имеют расширение.exe, как и другие исполняемые файлы.

Например, архив может называться somefiles.zip - его можно открыть в любой операционной системе с помощью подходящего менеджера архивов, который поддерживает как формат файла, так и используемый алгоритм сжатия. В качестве альтернативы его можно преобразовать в somefiles.exe, который будет самораспаковываться на машине под управлением Microsoft Windows без необходимости использования подходящего менеджера архивов. Он не будет самораспаковываться под Linux, но может быть открыт с помощью подходящего менеджера архивов Linux.

Существует несколько функционально эквивалентных, но несовместимых форматов архивных файлов, включая ZIP, RAR, 7z и многие другие. Некоторые программы могут управлять (создавать, извлекать или изменять) только одним типом архива, в то время как многие другие могут обрабатывать несколько форматов. Кроме того, существует различие между используемым форматом файла и алгоритмом сжатия. Один формат файла, например 7z, может поддерживать несколько различных алгоритмов сжатия, включая LZMA, LZMA2, PPMd и BZip2. Чтобы утилита декомпрессии могла правильно расширять самораспаковывающийся или стандартный архив, она должна работать как с используемым форматом файла, так и с используемым алгоритмом. Точный исполняемый код, помещенный в начало самораспаковывающегося архива, может поэтому варьироваться в зависимости от того, какие параметры использовались для создания архива. Процедуры декомпрессии для архива LZMA 7z будут отличаться от, например, архива LZMA2 7z.

Несколько программ могут создавать самораспаковывающиеся архивы. Для Windows есть WinZip, WinRAR, 7-Zip, KGB Archiver, Make SFX, встроенный -в мастер IExpress и многие другие, некоторые экспериментальные. Для Macintosh существуют StuffIt, The Unarchiver и 7zX. Существуют также программы, которые создают самораспаковывающиеся архивы в Unix как сценарии оболочки, которые используют такие программы, как tar и gzip (которые должны присутствовать в целевой системе). Другие (например, 7-Zip или RAR ) могут создавать самораспаковывающиеся архивы как обычные исполняемые файлы в формате ELF. Ранним примером самораспаковывающегося архива был архив Unix shar, в котором один или несколько текстовых файлов были объединены в сценарий оболочки, который при выполнении воссоздает исходные файлы.

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

Преимущества

Архивирование файлов вместо их отправки по отдельности позволяет объединить несколько связанных файлов в один ресурс. Он также имеет преимущество уменьшения размера файлов, которые еще не были эффективно сжаты (многие алгоритмы сжатия не могут уменьшить размер уже сжатых данных. Следовательно, сжатие обычно уменьшает размер обычного текста документ, но почти не влияет на изображение JPEG или документ текстового процессора. Это связано с тем, что большинство современных форматов файлов текстовых процессоров теперь уже включают определенный уровень сжатия). Самораспаковывающиеся архивы также расширяют преимущества сжатых архивов для пользователей, у которых на компьютере не установлены необходимые программы для извлечения их содержимого, но которые работают под управлением совместимой операционной системы. Однако для пользователей, у которых есть программное обеспечение для управления архивами, самораспаковывающийся архив может быть немного более удобным.

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

Недостатки

Недостатком самораспаковывающихся архивов является то, что запуск исполняемых файлов с непроверенной надежностью, например, при отправке в виде вложения электронной почты или загрузке из Интернета, может представлять угрозу безопасности. Исполняемый файл, описанный как самораспаковывающийся архив, на самом деле может быть вредоносной программой. Одна защита от этого - открыть его с помощью диспетчера архивов вместо его выполнения (потеря незначительного преимущества самораспаковки); менеджер архива либо сообщит, что файл не является архивом, либо покажет базовые метаданные исполняемого файла - явный признак того, что файл на самом деле не является самораспаковывающимся архивом.

Кроме того, некоторые системы распространения файлов не принимают исполняемые файлы, чтобы предотвратить передачу вредоносных программ. Эти системы запрещают самораспаковывающиеся архивные файлы, если они не были обременительно переименованы отправителем, скажем, в somefiles.exx, а затем снова переименованы получателем. Однако этот метод постепенно становится менее эффективным, так как все большее количество пакетов безопасности и антивирусного программного обеспечения сканируют заголовки файлов на предмет базового формата, а не полагаются на правильное расширение файла. Эти системы безопасности нельзя обмануть неправильным расширением файла, и они особенно часто используются при анализе вложений электронной почты.

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

Подготовка

Подготовка файлов

Сначала соберите все файлы, которые необходимо распаковать, в папку, затем выберите все и нажмите кнопку «Сжать» справа - нажмите меню. Хотя фактическая кнопка может отличаться, большинство систем поддерживают сжатие. Однако некоторые системы сжимают файл в документ «zip», а другие сжимают файл в документ «rar». Фактически, большинство систем позволяют пользователям решать, какой документ будет представлять собой сжатый файл, поскольку пользователи могут изменять настройку в персонализированном поле.

Примечание. Обычный этап взлома программного обеспечения - это копирование взломанного файла в каталог установки программного обеспечения для перезаписи исходного файла, а затем выполнение некоторых программ, таких как машина регистрации памяти или программа импорта реестра. В этом примере все файлы необходимо перезаписать и скопировать в каталог установки программного обеспечения, а затем выполнить FP и reg для импорта регистрационных данных.

Генерируемый формат

Во всплывающем диалоговом окне выберите соответствующую степень сжатия в «Режиме сжатия» и установите флажок «Создать самораспаковывающийся сжатый файл», а затем нажмите «Дополнительно → Самораспаковывающиеся параметры».

Степень сжатия, в основном известная как степень сжатия данных или мощность сжатия, является мерой относительного уменьшения размера представления данных, создаваемого алгоритмом сжатия данных. Пользователи могут рассчитать скорость самостоятельно, используя уравнение:

Коэффициент сжатия = Размер без сжатия / Размер со сжатым

Как правило, для высоких степеней сжатия подход на основе PDE не только дает гораздо лучшие результаты. чем широко используемый стандарт JPEG, но может даже превзойти по качеству высоко оптимизированный кодек JPEG 2000 (Galic, Zovko-Cihlar, 2012). Помимо этого, многие исследователи информатики сосредотачиваются на том, как оптимизировать процесс сжатия, чтобы сэкономить вычислительные мощности и улучшить функциональность. Ученые также утверждали, что приемлемые степени сжатия для матриц 2048, 1024 и 512 составляют 25: 1, 20: 1 и 10: 1, соответственно, на основе среднеквадратичной ошибки 0,02%, на основе исследования, проведенного с использованием метод полнокадрового сжатия с распределением битов на 78 радиологических изображениях, включая цифровые рентгенограммы, компьютерные рентгенограммы и изображения компьютерной томографии (Lo, and Huang, 1986).

Информация о настройках

Настройка здесь находится в центре внимания, в основном это четыре модуля: «Общие», «Режим», «Текст и значок» и «Лицензия».

В модуле «Общие» вы должны указать место, в которое файл будет автоматически распаковываться, и будет ли автоматически выполняться какая программа до и после распаковки. Поскольку файлы должны быть автоматически извлечены в каталог установки программного обеспечения, исходный путь установки программного обеспечения, а именно Programfiles \ Fpinger \, следует указать в столбце «Путь для извлечения». Излишне говорить, что «запускать после декомпрессии» и «запускать до декомпрессии» написано очень четко. Здесь вам необходимо автоматически отобразить «Описание, txt» перед распаковкой и выполнить FP и reg для импорта регистрационной информации после того, как все файлы будут распакованы в папку назначения.

Подсказки: здесь вводится только Fpinger \, потому что по умолчанию выбрана опция «Создать в'ProgramFiles». В это время RAR может автоматически определять, на каком разделе установлена ​​текущая операционная система, то есть, если ваша установка XP В разделе E файлы будут автоматически распакованы в каталог E: \ ProgramFiles \ Fpinger \, который является очень полезная функция для тех, кто установил несколько систем.

Модуль «Режим» в основном устанавливает, как поступать с распакованным файлом, когда он встречает файл с тем же именем в месте назначения, и следует ли отображать информацию по умолчанию для настройки. Значение «тихого режима» состоит в том, следует ли отображать такую ​​информацию, как путь декомпрессии по умолчанию, в течение всего процесса декомпрессии. Здесь, поскольку пакет дешифрования сделан, выберите «Скрыть все», то есть окно с подсказкой отображаться не будет.

"Метод перезаписи" понятнее. Точно так же для этого пакета дешифрования, когда он встречает файл с тем же именем, он должен быть перезаписан напрямую, поэтому выберите «перезаписать все файлы».

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

«Лицензия» - это «лицензионное соглашение на программное обеспечение», которое вы можете видеть каждый раз при установке программного обеспечения. Просто заполните то, что вам нужно. Если вы хотите, вы также можете поместить здесь введение в функции программного обеспечения.

Чтобы создать самораспаковывающийся файл из командной строки, вы можете использовать переключатель -sfx для создания нового сжатого файла или s для преобразования существующего сжатого файла файл в самораспаковывающийся файл. В графическом интерфейсе WinRAR есть два способа: первый - когда вы хотите создать новый сжатый файл, выбрать опцию «создать самораспаковывающийся файл» в диалоговом окне имени сжатого файла и параметра, а второй - ввести существующий сжатый файл и нажмите кнопку «Самораспаковывающийся».

WinRAR содержит несколько самораспаковывающихся модулей, все самораспаковывающиеся модули имеют расширение.sfx и должны быть помещены в папку, в которой находится WinRAR. По умолчанию WinRAR всегда использует модуль Default.sfx, но вы также можете напрямую указать другие имена модулей с помощью переключателя «-sfx» или команды «S». Например, чтобы преобразовать myarchive.rar в самораспаковывающийся формат, используйте модуль WinCon.SFX для запуска:

WinRAR SWinCon.SFX myarchive.rar

См. Также
Литература
Внешние ссылки
Последняя правка сделана 2021-06-07 09:23:18
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте