stringtranslate.com

7-Зип

7-Zip — это бесплатный и открытый архиватор файлов , утилита, используемая для размещения групп файлов в сжатых контейнерах, известных как «архивы». Он разработан Игорем Павловым и впервые выпущен в 1999 году. [2] 7-Zip имеет свой собственный формат архива, называемый 7z , но может читать и записывать несколько других.

Программу можно использовать из графического пользовательского интерфейса Windows , который также имеет интеграцию с оболочкой, из интерфейса командной строки Windows как команду 7zaили 7za.exe, а из систем POSIXp7zip как . [12] Большая часть исходного кода 7-Zip находится под лицензией LGPL-2.1 или более поздней версии ; однако код unRAR находится под лицензией LGPL-2.1 или более поздней версии с «ограничением unRAR», которое гласит, что разработчикам не разрешается использовать код для обратного проектирования алгоритма сжатия RAR . [13] [14]

Начиная с версии 21.01 alpha предварительная поддержка Linux была добавлена ​​в апстрим вместо проекта p7zip. [7]

Форматы архива

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

Сжатие ядра 7z использует различные алгоритмы , наиболее распространенными из которых являются bzip2 , PPMd , LZMA2 и LZMA . Разработанная Павловым, LZMA является относительно новой системой, дебютировавшей как часть формата 7z. LZMA использует скользящий словарь на основе LZ размером до 3840 МБ, поддерживаемый кодером диапазона . [15]

Формат файла 7z является открытым и модульным . Имена файлов хранятся в формате Unicode . [16]

В 2011 году TopTenReviews обнаружил, что сжатие 7z было по крайней мере на 17% лучше, чем ZIP , [17] а собственный сайт 7-Zip с 2002 года сообщал, что, хотя результаты степени сжатия очень зависят от данных, используемых для тестов, «Обычно 7-Zip сжимает в формат 7z на 30–70% лучше, чем в формат zip, а 7-Zip сжимает в формат zip на 2–10% лучше, чем большинство других программ, совместимых с zip». [18]

Спецификация формата файла 7z распространяется вместе с исходным кодом программы в подкаталоге «doc».

Другие

7-Zip поддерживает ряд других форматов архивов со сжатием и без сжатия (как для упаковки, так и для распаковки), включая ZIP , gzip , bzip2 , xz , tar и WIM . Утилита также поддерживает распаковку архивов APM , ar , ARJ , chm , cpio , deb , FLV , JAR , LHA/LZH , LZMA , MSLZ, Office Open XML , onepkg , RAR , RPM , smzip, SWF , XAR и Z , а также образов дисков cramfs , DMG , FAT , HFS , ISO , MBR , NTFS , SquashFS , UDF и VHD . 7-Zip поддерживает формат ZIPX только для распаковки. Эта поддержка появилась как минимум с версии 9.20, выпущенной в конце 2010 года. 7-Zip добавил поддержку RAR5 в 2015 году. [19]

7-Zip может открывать некоторые файлы MSI , предоставляя доступ к метафайлам внутри вместе с основным содержимым. Некоторые форматы установщиков Microsoft CAB (сжатие LZX ) и NSIS (LZMA) могут быть открыты. Аналогично, некоторые исполняемые программы Microsoft (. EXE ), которые являются самораспаковывающимися архивами или иным образом содержат архивированное содержимое (например, некоторые файлы установки), могут быть открыты как архивы.

При сжатии файлов ZIP или gzip 7-Zip использует собственный кодировщик DEFLATE , который может достигать более высокого сжатия, но с меньшей скоростью, чем более распространенная реализация zlib DEFLATE. Реализация кодировщика deflate 7-Zip доступна отдельно как часть набора инструментов AdvanceCOMP.

Механизм распаковки архивов RAR был разработан с использованием свободно доступного исходного кода программы unRAR, которая имеет лицензионное ограничение на создание компрессора RAR. 7-Zip v15.06 и более поздние версии поддерживают извлечение файлов в формате RAR5. [20] Некоторые системы резервного копирования используют форматы, поддерживаемые программами архивации, такими как 7-Zip; например, некоторые резервные копии Android находятся в tarформате и могут быть извлечены архиваторами, такими как 7-Zip. [21]

Некоторые форки добавляют больше форматов.

Файловый менеджер

7-Zip поставляется с файловым менеджером вместе со стандартными инструментами архиватора. Файловый менеджер имеет панель инструментов с опциями создания архива, извлечения архива, проверки архива для обнаружения ошибок, копирования, перемещения и удаления файлов, а также открытия меню свойств файла, эксклюзивного для 7-Zip. Файловый менеджер по умолчанию отображает скрытые файлы, поскольку он не следует политикам Windows Explorer . Вкладки показывают имя, время изменения, исходный и сжатый размеры, атрибуты и комментарии ( формат 4DOS descript.ion ).

При переходе на один каталог вверх в корне, появляются все диски, съемные или внутренние. При повторном переходе вверх отображается список с четырьмя вариантами:

Функции

7-Zip поддерживает:

Версии

Предоставляются две версии командной строки : 7z (7z.exe), использующая внешние библиотеки; и 7za (7za.exe), которая является автономным исполняемым файлом, содержащим встроенные модули, но с поддержкой сжатия/распаковки, ограниченной форматами 7z , ZIP , gzip , bzip2 , Z и tar . Доступна 64-битная версия с поддержкой больших карт памяти, что обеспечивает более быстрое сжатие. Все версии поддерживают многопоточность.

Вилки

Плагины

7-zip поставляется с системой плагинов для расширения. Официальная страница "Ссылки" указывает на множество плагинов, написанных TC4Shell, которые обеспечивают дополнительную поддержку файлов. [30]

Комплект для разработки программного обеспечения

7-Zip имеет LZMA SDK , который изначально имел двойную лицензию GNU LGPL и Common Public License , [31] с дополнительным специальным исключением для связанных двоичных файлов. 2 декабря 2008 года SDK был размещен Игорем Павловым в общественном достоянии . [11]

Безопасность

В более старых версиях самораспаковывающиеся архивы были уязвимы для выполнения произвольного кода посредством перехвата DLL : они загружают и запускают DLL с именем UXTheme.dll, если он находится в той же папке, что и исполняемый файл. [32] [33] [34] В примечаниях к выпуску 7-Zip 16.03 говорится, что в установщике и модулях SFX добавлена ​​защита от атаки предварительной загрузки DLL. [2]

Версии 7-Zip до 18.05 содержат уязвимость выполнения произвольного кода в модуле извлечения файлов из архивов RAR ( CVE - 2018-10115), уязвимость, которая была исправлена ​​30 апреля 2018 года. [35]

Версии до 23.0 также содержали уязвимость выполнения произвольного кода , исправленную 7 мая 2023 года. [36]

Прием и использование

Snapfiles.com в 2012 году оценил 7-Zip на 4,5 звезды из 5, отметив, что «[его] интерфейс и дополнительные функции довольно базовые, но степень сжатия выдающаяся». ​​[37]

В 2009 году Джастин Джеймс на TechRepublic обнаружил, что подробные настройки для интеграции с Windows File Manager были «оценены» и назвал утилиту для тестирования сжатия-распаковки «отличной». И хотя диалоговое окно архива имеет настройки, которые «собьют с толку большинство пользователей», он пришел к выводу: «7-Zip занимает хорошую нишу между встроенными возможностями Windows и функциями платных продуктов, и он способен обрабатывать большое количество форматов файлов в процессе». [38]

В период с 2002 по 2024 год 7-Zip был загружен 428 миллионов раз только с SourceForge . [39]

Программное обеспечение получило награды. В 2007 году SourceForge присудил ему награды Community Choice Awards за «Технический дизайн» и «Лучший проект». [40] В 2013 году Tom's Hardware провела тест скорости сжатия, сравнив 7-ZIP, MagicRAR, WinRAR , WinZip; они пришли к выводу, что 7-ZIP превзошел все остальные по скорости сжатия, коэффициенту и размеру, и наградила программное обеспечение наградой Tom's Hardware Elite 2013 года. [41]

Смотрите также

Ссылки

  1. ^ «Несколько вопросов Игорю Павлову». Информационный бюллетень доктора Добба по сжатию данных. 30 апреля 2003 г. Получено 28 марта 2023 г.
  2. ^ abcd "История изменений 7-zip". 7-Zip 20.02 alpha. 8 августа 2020 г. Получено 8 августа 2020 г.
  3. ^ "ИСТОРИЯ 7-Zip" . Получено 12 августа 2024 г. .
  4. ^ "История изменений 7-zip". 7-Zip. 5 апреля 2024 г. Получено 5 апреля 2024 г.
  5. ^ "P7ZIP SourceForge". SourceForge.net . Январь 2016. Получено 7 марта 2016 .
  6. ^ «Тесты для ReactOS 0.4.14».
  7. ^ ab Larabel, Michael (12 марта 2021 г.). «Upstream 7-Zip Adds Preliminary Linux Support». Phoronix . Получено 17 марта 2021 г. .
  8. ^ "7-Zip - Browse /7-Zip/16.00". SourceForge.net . Slashdot Media. 10 апреля 2016 г. Получено 12 мая 2016 г.
  9. ^ Параметры... диалоговое окно 7-Zip для Windows 21.00 alpha
  10. ^ Павлов, Игорь (2010). "Лицензия 7-Zip на использование и распространение". 7-zip.org/ . Архивировано из оригинала 10 апреля 2010 . Получено 16 апреля 2010 .
  11. ^ ab Павлов, Игорь (2013). "LZMA SDK (Software Development Kit)" . Получено 16 июня 2013 г.
  12. ^ ab "P7ZIP". GitHub . Июль 2022 . Получено 6 июля 2022 .
  13. ^ Павлов, Игорь. "7-Zip". 7-zip.org . Получено 31 октября 2012 г. .
  14. ^ Павлов, Игорь. "7-Zip – Лицензия на использование и распространение". 7-zip.org . Получено 31 октября 2012 г. .
  15. ^ Диас, Антонио Диас. "Lzip". LZip.NonGNU.org . Архивировано из оригинала 29 июля 2010 . Получено 29 июля 2010 .
  16. ^ Павлов, Игорь. "Формат 7z". 7-zip.org . Получено 16 апреля 2017 г. .
  17. ^ "7-Zip 2011 – TopTenREVIEWS". Архивировано из оригинала 25 октября 2012 года.
  18. ^ Игорь Павлов. "7-Zip (домашняя страница)". 7-zip.org . Архивировано из оригинала 21 января 2002 года.Заявления о производительности сжатия в январе 2002 г. и апреле 2017 г. были очень похожи.
  19. ^ 7-zip.org/history.txt
  20. ^ Павлов, Игорь. «Заметки о выпуске 7-Zip 15.06 beta».
  21. ^ Виджай (11 мая 2013 г.). «Как извлечь файлы из резервной копии Nandroid». AJQI . Архивировано из оригинала 31 марта 2017 г. Получено 16 апреля 2017 г.
  22. ^ "Информация о шифровании AES: Спецификация шифрования AE-1 и AE-2". WinZip . 30 января 2009 г.
  23. ^ Этвуд, Джефф (28 февраля 2009 г.). «Сжатие файлов в эпоху многоядерных процессоров». Coding Horror . Получено 4 августа 2017 г.
  24. ^ "Синтаксис командной строки". sevenzip.osdn.jp.
  25. ^ "[ubuntu] Графический интерфейс пользователя для 7-zip? [Архив] - Форумы Ubuntu". ubuntuforums.org .
  26. ^ -m (Установить метод сжатия) переключатель
  27. ^ "Домашняя страница Milkys - 7-Zip с поддержкой Zstandard, Brotli, Lz4, Lz5 и Lizard Compression". mcmilk.de .
  28. ^ "p7zip-zstd". p7zip-project. 4 мая 2023 г.
  29. ^ "NanaZip: производная 7-Zip, предназначенная для современных возможностей Windows". M2-Team. 6 мая 2023 г.
  30. ^ "Ссылки". 7-zip.org .
  31. ^ "Обзор /LZMA SDK/4.23". SourceForge . Получено 12 февраля 2014 г. .
  32. ^ Kanthak, Stefan (8 декабря 2015 г.). «Исполняемые установщики уязвимы^WEVIL (случай 7): 7z*.exe позволяет удаленное выполнение кода с повышением привилегий». SecLists.org .
  33. ^ Кантхак, Стефан (22 декабря 2015 г.). «Исполняемые установщики уязвимы^WEVIL (случай 14): ScanNowUPnP.exe от Rapid7 допускает произвольное (удалённое) выполнение кода». SecLists.org .
  34. ^ Харт, Джон (21 декабря 2015 г.). «Уязвимость перехвата порядка поиска DLL ScanNow и ее устаревание». Rapid7.com .
  35. ^ «Уязвимость в 7-Zip может привести к выполнению произвольного кода». cisecurity.org . 1 мая 2018 г.
  36. ^ «Уязвимость удалённого выполнения кода, связанная с целочисленным переполнением при анализе файла 7-Zip 7Z». zerodayinitiative.com . 23 августа 2022 г.
  37. ^ "7-Zip file compression tool". Snapfiles.com . WebAttack . Получено 12 октября 2012 г. .
  38. ^ Джеймс, Джастин (10 ноября 2009 г.). «Обзор: приложение для сжатия файлов 7-Zip». TechRepublic . стр. 1–2.
  39. ^ Статистика загрузок 7-zip-файлов на SourceForge.net (февраль 2024 г.)
  40. ^ "SourceForge.net: 2007 Community Choice Awards". SourceForge . 15 июня 2007 г. Архивировано из оригинала 26 марта 2010 г. Получено 16 апреля 2010 г.
  41. ^ Masiero, Manuel; Roos, Achim (19 марта 2013 г.). "Производительность сжатия: 7-Zip, MagicRAR, WinRAR, WinZip". Tom's Hardware . Получено 25 апреля 2021 г. .

Внешние ссылки