7-Зип

Архиватор файлов с открытым исходным кодом

7-Зип
Разработчик(и)Игорь Павлов [1]
Первоначальный выпуск18 июля 1999 г .; 25 лет назад [2] ( 1999-07-18 )
Стабильный релиз24.08 [3] (11 августа 2024 г. ; 3 месяца назад ) ( 11 августа 2024 )
Предварительный релиз24.04 Бета (5 апреля 2024 г .; 7 месяцев назад ) [±] [4] ( 2024-04-05 )
Репозиторий
  • sourceforge.net/projects/sevenzip/files/7-Zip/
Написано вАссемблирование , C и C++ [5]
Операционная системаWindows / ReactOS , [6] BSD , macOS , Linux , [7]
Размер1,1–1,7 МБ [8]
Доступно в89 языков [9]
Список языков

Африкаанс, албанский, арабский, арагонский, армянский, астурийский, азербайджанский, бангла, башкирский, баскский, белорусский, бретонский, болгарский, каталанский, китайский упрощенный, китайский традиционный, корсиканский, хорватский, чешский, датский, голландский, английский, эсперанто, эстонский, Эстремадуранский, фарси, финский, французский, фризский, фриульский, галисийский, грузинский, немецкий, греческий, гуджаратский, индийский, иврит, хинди, индийский, венгерский, исландский, идо, индонезийский, ирландский, итальянский, японский, кабильский, каракалпакский - латынь, Казахский, корейский, курдский - сорани, курдский, киргизский, латвийский, лигурийский, литовский, македонский, малайский, маратхи, монгольский (MenkCode), монгольский (Unicode), монгольский, непальский, норвежский букмаль, норвежский нюнорский, пушту, польский, португальский (бразильский) , Португальский Португалия, Пенджаби, Индийский, Румынский, русский, санскрит, индийский, сербский - кириллица, сербский - латиница, сингальский, вьетнамский, словацкий, словенский, испанский, шведский, тамильский, татарский, тайский, турецкий, украинский, уйгурский, узбекский, валенсийский, вьетнамский, валлийский, йоруба

Эти переводы частичные и предназначены только для пользовательского интерфейса. Справка и документация на английском языке.

ТипАрхиватор файлов
ЛицензияLGPL-2.1 или более поздняя версия с ограничением unRAR [10] / LZMA SDK в открытом доступе [11]
Веб-сайт7-zip.org 

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 ).

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

  • Компьютер : загружает список дисков.
  • Документы : загружает документы пользователя, обычно в%UserProfile%\My Documents
  • Сеть : загружает список всех подключенных сетевых клиентов.
  • \\. : То же, что и "Компьютер", за исключением того, что загружает диски в режиме низкоуровневого доступа к файловой системе . Это приводит к появлению критических файлов диска и удаленных файлов, все еще существующих на диске. (ПРИМЕЧАНИЕ: по состоянию на ноябрь 2020 года доступ к активному разделу в режиме низкого уровня не разрешен по неизвестным на данный момент причинам.)

Функции

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

  • 32 и 64-бит x86, архитектура ARM64
  • Файловый менеджер
  • Шифрование с помощью 256-битного шифра AES , который может быть включен как для файлов, так и для иерархии 7z. Когда иерархия зашифрована, пользователи должны ввести пароль , чтобы увидеть имена файлов, содержащиеся в архиве. Разработанный WinZip стандарт шифрования Zip-файлов AES также доступен в 7-Zip для шифрования ZIP-архивов с помощью AES 256-бит, но он не предлагает шифрование имен файлов, как в архивах 7z. [22]
  • Тома динамически изменяемых размеров, позволяющие использовать их для резервного копирования на сменных носителях, таких как записываемые компакт-диски и DVD-диски.
  • Удобство использования в качестве базового традиционного файлового менеджера при использовании в двухпанельном режиме
  • Многоядерная потоковая обработка ЦП [23]
  • Открытие EXE-файлов как архивов, что позволяет распаковывать данные из многих программ типа «Setup», «Installer» или «Extract» без необходимости их запуска.
  • Распаковка архивов с поврежденными именами файлов, переименование файлов по мере необходимости
  • Создание самораспаковывающихся однотомных архивов
  • Интерфейс командной строки [24]
  • Графический пользовательский интерфейс. Версия Windows поставляется со своим собственным GUI; однако p7zip использует GUI менеджера архивов Unix/Linux. [25]
  • Расчет контрольных сумм в форматах CRC-32, CRC-64, SHA-1 или SHA-256 для файлов на диске, доступный либо через командную строку, либо через контекстное меню Проводника [2]
  • Доступно на 89 языках
  • Возможность опциональной записи дат создания ( tc) и дат последнего доступа ( ta) в архивах (в дополнение к датам изменения). [26]

Версии

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

Вилки

  • p7zip — это форк для Unix-подобных операционных систем (включая Linux , FreeBSD и macOS ), FreeDOS , OpenVMS , AmigaOS 4 и MorphOS . Он предлагает только версию 7za. [12]
  • 7-zip ZS — это ответвление, в которое добавлены Zstandard и другие алгоритмы сжатия. [27]
    • p7zip-zstd (p7zip с zstd) — это p7zip с дополнениями ZS. [28]
  • NanaZip — это форк, объединяющий изменения из многих источников, модернизированный для Microsoft Store . [29]

Плагины

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 г. .
Взято с "https://en.wikipedia.org/w/index.php?title=7-Zip&oldid=1252603657"