Самораспаковывающийся архив ( SFX или SEA ) — это исполняемая компьютером программа , которая объединяет сжатые данные в архивном файле с исполняемым на машине кодом для извлечения информации. Работая в совместимой операционной системе, он не нуждается в подходящем экстракторе на целевом компьютере для извлечения данных. [ необходима цитата ] Исполняемая часть файла известна как заглушка декомпрессора .
Самораспаковывающиеся файлы используются для обмена сжатыми файлами с теми, у кого может не быть программного обеспечения, необходимого для распаковки обычного архива. Пользователи также могут использовать самораспаковывающиеся архивы для распространения собственного программного обеспечения. Например, программа установки WinRAR создана с использованием графического GUI самораспаковывающегося модуля RAR Default.sfx. [ необходима цитата ]
Самораспаковывающиеся архивы содержат исполняемый файловый модуль, который используется для запуска несжатых файлов из сжатых файлов. Последний не требует внешней программы для распаковки содержимого самораспаковывающегося файла и может выполнять саму операцию. Однако архиваторы файлов, такие как WinRAR, все еще могут обрабатывать самораспаковывающийся файл, как если бы это был любой другой тип сжатого файла. Используя архиватор файлов, пользователи могут просматривать или распаковывать полученные ими самораспаковывающиеся файлы без запуска исполняемого кода (например, если они обеспокоены вирусами). [ необходима цитата ]
Самораспаковывающийся архив извлекается и сохраняется на диске при запуске в операционной системе , которая его поддерживает. Многие встроенные самораспаковывающиеся архивы поддерживают ряд аргументов командной строки, таких как указание целевого расположения или выбор только определенных файлов. [ необходима цитата ]
В отличие от самораспаковывающихся архивов, несамораспаковывающиеся архивы содержат только архивированные файлы и должны быть извлечены с помощью программы, совместимой с ними. Хотя некоторые форматы самораспаковывающихся архивов не могут быть извлечены в другой операционной системе, несамораспаковывающиеся архивы обычно все равно можно открыть с помощью подходящего экстрактора. Этот инструмент проигнорирует исполняемую часть файла и извлечет только архивный ресурс. Самораспаковывающийся исполняемый файл может потребоваться переименовать, чтобы он содержал расширение файла, связанное с соответствующим упаковщиком; форматы архивных файлов, которые, как известно, поддерживают это, включают ARJ [1] и ZIP . [2] [3] Обычно самораспаковывающиеся файлы имеют расширение .exe , как и любой другой исполняемый файл.
Например, архив может называться «somefiles.zip—it», который может быть открыт в любой операционной системе с помощью подходящего менеджера архивов, который поддерживает как формат файла, так и используемый алгоритм сжатия. [2] Его также можно преобразовать в somefiles.exe, который будет самораспаковываться в Microsoft Windows . Он не будет самораспаковываться в Linux , но может быть открыт с помощью подходящего менеджера архивов. [ требуется ссылка ] Файлы, которые не распознаются менеджерами архивов как архивы из-за их исполняемого расширения, можно переименовать в .zip. [3] Это работает для архивов ZIP из-за способа определения заголовка ZIP, но не обязательно для других менее гибких форматов архивов.
Существует несколько функционально эквивалентных, но несовместимых форматов архивных файлов, таких как ZIP, RAR, 7z и другие. [ требуется цитата ] Многие программы могут обрабатывать несколько типов архивов, тогда как другие могут создавать, извлекать или изменять только один тип. [ требуется цитата ] Кроме того, существует различие между форматом файла и алгоритмом сжатия. Один формат файла, такой как 7z, может поддерживать несколько различных алгоритмов сжатия, включая LZMA , LZMA2 , PPMd и BZip2 . [ требуется цитата ] Утилиты распаковки должны иметь возможность обрабатывать как формат файла, так и алгоритм, используемый при развертывании самораспаковывающихся или стандартных архивов. В зависимости от параметров, используемых для создания самораспаковывающегося архива, исполняемый код, помещенный в начало, может различаться. Например, при сравнении архива LZMA 7z с архивом LZMA2 7z процедуры распаковки будут отличаться. [ требуется цитата ]
Несколько программ могут создавать самораспаковывающиеся архивы. Среди архиваторов Windows — WinZip , WinRAR , 7-Zip , WinUHA, KGB Archiver , Make SFX, встроенный мастер IExpress и другие, включая экспериментальные. [ требуется ссылка ] Пользователи Macintosh могут выбирать между StuffIt , The Unarchiver или 7z X в качестве своих архиваторов. Существуют также программы, которые создают самораспаковывающиеся архивы в Unix как скрипты оболочки , которые используют такие программы, как tar и gzip (которые должны присутствовать в целевой системе). [ требуется ссылка ] Другие (например, 7-Zip или RAR ) могут создавать самораспаковывающиеся архивы как обычные исполняемые файлы в формате ELF . [ требуется ссылка ] Одним из ранних примеров самораспаковывающихся архивов является архив Unix shar , который объединял несколько текстовых файлов в скрипт оболочки, который воссоздавал их исходное содержимое после выполнения. [ требуется ссылка ]
Можно архивировать как данные, так и исполняемые файлы с помощью самораспаковывающихся архивов. Его следует отличать от сжатия исполняемых файлов , когда исполняемый файл содержит только один исполняемый файл, а запуск файла не приводит к сохранению несжатого файла на диске, а к выполнению его кода в памяти после распаковки. [ необходима цитата ]
Если это позволяют базовый алгоритм сжатия и формат, самораспаковывающиеся архивы также могут быть зашифрованы в целях безопасности. [ необходима цитата ] Однако важно отметить, что во многих случаях имена файлов и каталогов не включаются в шифрование и могут быть просмотрены любым человеком без ключа или пароля. Если человек может угадать часть содержимого файлов только по их именам или контексту, злоумышленник может взломать шифрование всего архива с небольшим количеством вычислительной мощности и времени.
Möchten Sie mit ARJ Arbeiten, können Sie die .EXE-Datei auch einfach zu .ARJ umbenennen. ARJ может выбрать дату с использованием дополнительных опций (внутренняя часть Norton Commanders не может быть связана с другими датами).(Примечание. NWDOSTIP.TXT — это комплексная работа по Novell DOS 7 и OpenDOS 7.01, включающая описание многих недокументированных функций и внутренних компонентов. Она является частью еще более обширной
MPDOSTIP.ZIP
коллекции автора, которая поддерживалась до 2001 года и распространялась на многих сайтах в то время. Приведенная ссылка указывает на более старую версию файла, преобразованную в HTML NWDOSTIP.TXT
.) [1][…] bei Modernen System ist die Funktionalität, в ZIP-архиве, также как и Unterverzeichnisse в Dateisystem, он интегрирован в Shell, так что человек может получить свои собственные Entpackprogramm mehr bemühen muß, wie das früher der Fall war. Функционирование под Windows (Проводник) было таким (Windows 95), и, возможно, в DOS возникли проблемы с использованием командной строки, bzw. война в Dateimanagern с Norton Commander, который был интегрирован в лысый zwanzig Jahren. […] Es ist eine wirklich sehr schlechte Idee, ausführbare Dateien (wie .EXE-Dateien) über das Netz verteilen zu wollen - im Grunde halfe ich das für unverantwortlich, gerade wenn man auch unbedarfte "Nur-Anwender" в шляпе Zielgruppe. Ausführbare Dateien stellen ein erhebliches Sicherheitsrisiko dar, denn sie können Viren enthalten (und tun умирает очень часто). Если вы хотите заблокировать вирусный сканер и брандмауэры, а также получить соответствующие инструкции на веб-сайте Sony (например, если вы не работаете в режиме реального времени), вы должны знать, что дата не работает. В некоторых случаях, когда вы столкнулись с этой проблемой, вам понадобится специальный Selbstentpacker, интегрированный в .EXE-дата, и это лучшая версия для функций Windows. Многие версии Windows x64, другие версии Windows Starter и другие версии Windows больше не используются. Если это не так, вам нужно, чтобы ваш Selbstentpacker был полностью совместим со всеми версиями Windows, совместимыми с Windows. […][2]
[…] Я написал версию
PMSFX
, которая создает
файлы .COM
, распаковываемые под
DOS
и
CP/M
(первые три байта являются как допустимым
кодом
Z80 , так и допустимым кодом
8086
и допустимым заголовком
PMA
). Вы можете найти его […] как самораспаковывающийся архив. […]
[…] Самораспаковывающиеся архивы — это
файлы .COM
, содержащие несколько меньших файлов. Когда вы запускаете один, он создает свои меньшие файлы […] Программы самораспаковывающихся архивов будут работать под
DOS
(2 или более поздней версии) или
CP/M
с идентичными эффектами. Чтобы распаковать их под
Unix
, вы можете использовать ZXCC […] PMSFX21X.COM […]
PMSFX
— это программа, которая использовалась для создания этих самораспаковывающихся архивов. Эта версия (2.11) может создавать архивы, которые распаковываются под CP/M или DOS.
Для использования PMSFX вам понадобится
PMARC . […]
{{cite web}}
: Внешняя ссылка в |quote=
( помощь ) [3][…] Еще больше удовольствия можно получить с самораспаковывающимися архивами
PMArc
. Начните один с […] defb 0EBh, 018h, '-pms-' […] и он будет рассматриваться утилитами PMA как допустимый архив, отправляет процессоры
8086
на 011Ah, а процессоры
Z80
на 0130h. […]