7-Zip
Разработчик(и) | Igor Pavlov [1] |
---|---|
Первоначальный выпуск | 19 июля 1999 г [2] |
Стабильная версия | 24.07 [3] (19 июня 2024 г ) |
Предварительный выпуск | 24.04 Бета (5 апреля 2024 г [±] [4] | )
Репозиторий | |
Написано в | Ассемблер , C и C++ [5] |
Операционная система | Windows / ReactOS , [6] БСД , macOS , Linux , [7] |
Размер | 1,1–1,7 МБ [8] |
Доступно в | 89 языков [9] |
Список языков | |
Тип | Архив файлов |
Лицензия | LGPL-2.1 или более поздняя версия с ограничением unRAR [10] / LZMA SDK в свободном доступе [11] |
Веб-сайт | www |
7-Zip — это с открытым исходным кодом бесплатный архиватор файлов , утилита, используемая для размещения групп файлов в сжатых контейнерах, известных как «архивы». Он разработан Игорем Павловым и впервые выпущен в 1999 году. [2] 7-Zip имеет собственный формат архива под названием 7z , но может читать и записывать несколько других.
Программу можно использовать из графического пользовательского интерфейса Windows , который также имеет интеграцию с оболочкой, или из интерфейса командной строки Windows в качестве команды 7za
или 7za.exe
и из POSIX как систем p7zip
. [12] Большая часть исходного кода 7-Zip находится под лицензией LGPL-2.1 или более поздней версии ; лицензией LGPL однако код unRAR находится под -2.1 или более поздней версии с «ограничением unRAR», в котором говорится, что разработчикам не разрешается использовать код для обратного проектирования алгоритма сжатия RAR . [13] [14]
Начиная с альфа-версии 21.01, в исходный проект была добавлена предварительная поддержка Linux вместо проекта p7zip. [7]
Форматы архивов
[ редактировать ]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 может открывать некоторые файлы MSI , обеспечивая доступ к метафайлам внутри вместе с основным содержимым. некоторые форматы установщика Microsoft CAB ( сжатие LZX ) и NSIS Можно открыть (LZMA). Аналогично, некоторые исполняемые программы Microsoft (.EXE ) , которые представляют собой самораспаковывающиеся архивы или иным образом содержат архивное содержимое (например, некоторые установочные файлы), могут открываться как архивы.
При сжатии файлов ZIP или gzip 7-Zip использует собственный кодировщик DEFLATE , который может обеспечить более высокое сжатие, но с более низкой скоростью, чем более распространенная реализация zlib DEFLATE. Реализация дефляционного кодировщика 7-Zip доступна отдельно как часть набора инструментов AdvanceCOMP.
Механизм распаковки архивов RAR был разработан с использованием свободно доступного исходного кода программы unRAR, которая имеет лицензионное ограничение на создание компрессора RAR. 7-Zip v15.06 и более поздние версии поддерживают извлечение файлов в формате RAR5. [19] Некоторые системы резервного копирования используют форматы, поддерживаемые программами архивирования, такими как 7-Zip; например, некоторые резервные копии Android находятся в tar
формате и может быть извлечен такими архиваторами, как 7-Zip. [20]
Некоторые форки добавляют больше форматов.
Файловый менеджер
[ редактировать ]7-Zip поставляется с файловым менеджером и стандартными инструментами архиватора. Файловый менеджер имеет панель инструментов с опциями для создания архива, извлечения архива, проверки архива на наличие ошибок, копирования, перемещения и удаления файлов, а также открытия меню свойств файла, эксклюзивного для 7-Zip. Файловый менеджер по умолчанию отображает скрытые файлы, поскольку он не соответствует Проводника Windows политикам . На вкладках отображаются имя, время изменения, исходный и сжатый размеры, атрибуты и комментарии ( 4DOS descript.ion
формат).
При переходе на один корневой каталог отображаются все диски, съемные или внутренние. При повторном подъеме вверх отображается список с четырьмя опциями:
- Компьютер : загружает список дисков.
- Документы : загружает документы пользователя, обычно по адресу
%UserProfile%\My Documents
- Сеть : загружает список всех подключенных сетевых клиентов.
- \\. : То же, что и «Компьютер», за исключением того, что диски загружаются с низкоуровневым доступом к файловой системе . Это приводит к тому, что критические файлы диска и удаленные файлы, все еще существующие на диске, появляются. (ПРИМЕЧАНИЕ. По состоянию на ноябрь 2020 г. доступ к активному разделу в низкоуровневом режиме запрещен по неизвестным на данный момент причинам.)
Функции
[ редактировать ]7-Zip поддерживает:
- 32- и 64-битная архитектура x86, ARM64
- Файловый менеджер
- Шифрование с помощью 256-битного шифра AES , который можно включить как для файлов, так и для иерархии 7z. Когда иерархия зашифрована, пользователям необходимо ввести пароль , чтобы увидеть имена файлов, содержащихся в архиве. Разработанный WinZip стандарт шифрования AES для Zip-файлов также доступен в 7-Zip для шифрования ZIP-архивов с помощью 256-битного AES, но он не обеспечивает шифрование имени файла, как в архивах 7z. [21]
- Тома динамически изменяемых размеров, позволяющие использовать резервные копии на съемных носителях, таких как записываемые компакт-диски и DVD-диски.
- Удобство использования в качестве базового традиционного файлового менеджера при использовании в режиме двух панелей.
- Многоядерная обработка потоков процессора [22]
- Открытие файлов EXE в виде архивов, позволяющее распаковывать данные из многих программ типа «Установка», «Установщик» или «Извлечение» без необходимости их запуска.
- Распаковка архивов с поврежденными именами файлов, переименование файлов по мере необходимости
- Создавайте самораспаковывающиеся однотомные архивы.
- Интерфейс командной строки [23]
- Графический интерфейс пользователя. Версия для Windows имеет собственный графический интерфейс; однако p7zip использует графический интерфейс менеджера архивов Unix/Linux. [24]
- Вычисление контрольных сумм в форматах CRC-32, CRC-64, SHA-1 или SHA-256 для файлов на диске, доступное либо через командную строку, либо через контекстное меню Проводника. [2]
- Доступно на 89 языках
- Возможность опционально записывать даты создания (
tc
) и даты последнего доступа (ta
) в архивах (кроме дат модификации). [25]
Версии
[ редактировать ]две версии командной строки Предусмотрены : 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 и различными другими алгоритмами сжатия, добавленными в формат файла. [26]
- p7zip-zstd (p7zip с zstd) — это p7zip с дополнениями ZS. [27]
- NanaZip — это форк, объединяющий изменения из множества источников, модернизированный для Microsoft Store . [28]
Плагины
[ редактировать ]7-zip поставляется с системой плагинов для расширения. Официальная страница «Ссылки» указывает на множество плагинов, написанных TC4Shell, обеспечивающих дополнительную поддержку файлов. [29]
Комплект для разработки программного обеспечения
[ редактировать ]7-Zip имеет LZMA SDK , который изначально имел двойную лицензию : GNU LGPL и Common Public License . [30] с дополнительным специальным исключением для связанных двоичных файлов. 2 декабря 2008 года SDK был размещен Игорем Павловым в открытом доступе . [11]
Безопасность
[ редактировать ]В старых версиях самораспаковывающиеся архивы были уязвимы для выполнения произвольного кода посредством перехвата DLL : они загружают и запускают DLL с именем UXTheme.dll, если она находится в той же папке, что и исполняемый файл. [31] [32] [33] В примечаниях к выпуску 7-Zip 16.03 говорится, что установщик и модули SFX имеют дополнительную защиту от атаки с предварительной загрузкой DLL. [2]
Версии 7-Zip до 18.05 содержат уязвимость выполнения произвольного кода в модуле извлечения файлов из архивов RAR ( CVE — 2018-10115 ), уязвимость, исправленная 30 апреля 2018 года. [34]
Версии до 23.0 также содержали уязвимость выполнения произвольного кода , исправленную 7 мая 2023 года. [35]
Прием и использование
[ редактировать ]Snapfiles.com в 2012 году оценил 7-Zip на 4,5 звезды из 5, отметив: «[его] интерфейс и дополнительные функции довольно просты, но степень сжатия выдающаяся». [36]
На сайте TechRepublic в 2009 году Джастин Джеймс обнаружил, что подробные настройки интеграции файлового менеджера Windows «оценены», и назвал утилиту тестирования сжатия-распаковки «аккуратной». И хотя диалоговое окно архивирования имеет настройки, которые «приведут в замешательство большинство пользователей», он заключил: «7-Zip занимает хорошую нишу между встроенными возможностями Windows и функциями платных продуктов, и он способен обрабатывать большие объемы данных. разнообразие форматов файлов в процессе». [37]
7-Zip был скачан 428 миллионов раз В период с 2002 по 2024 год только с SourceForge . [38]
Программное обеспечение получило награды. В 2007 году SourceForge присвоил ему награды сообщества в категориях «Технический дизайн» и «Лучший проект». [39] В 2013 году компания Tom's Hardware провела тест скорости сжатия, сравнив 7-ZIP, MagicRAR, WinRAR , WinZip; они пришли к выводу, что 7-ZIP превосходит все остальные по скорости сжатия, коэффициенту сжатия и размеру, и наградили это программное обеспечение наградой Tom's Hardware Elite 2013 года. [40]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Несколько вопросов Игорю Павлову» . Информационный бюллетень доктора Добба по сжатию данных. 30 апреля 2003 года . Проверено 28 марта 2023 г.
- ^ Перейти обратно: а б с д «История изменений 7-zip» . 7-Zip 20.02 альфа. 8 августа 2020 г. Проверено 8 августа 2020 г.
- ^ «ИСТОРИЯ 7-Zip» . Проверено 19 июня 2024 г.
- ^ «История изменений 7-zip» . 7-Почтовый индекс. 5 апреля 2024 г. Проверено 5 апреля 2024 г.
- ^ «P7ZIP SourceForge» . SourceForge.net . Январь 2016 года . Проверено 7 марта 2016 г.
- ^ «Тесты для ReactOS 0.4.14» .
- ^ Перейти обратно: а б Ларабель, Майкл (12 марта 2021 г.). «В исходной версии 7-Zip добавлена предварительная поддержка Linux» . Фороникс . Проверено 17 марта 2021 г.
- ^ «7-Zip — Просмотр /7-Zip/16.00» . SourceForge.net . Слэшдот Медиа. 10 апреля 2016 г. Проверено 12 мая 2016 г.
- ^ Параметры... диалоговое окно 7-Zip для Windows 21.00 альфа
- ^ Павлов, Игорь (2010). «Лицензия 7-Zip на использование и распространение» . 7-zip.org/ . Архивировано из оригинала 10 апреля 2010 года . Проверено 16 апреля 2010 г.
- ^ Перейти обратно: а б Павлов, Игорь (2013). «LZMA SDK (Комплект разработки программного обеспечения)» . Проверено 16 июня 2013 г.
- ^ Перейти обратно: а б «P7ZIP» . Гитхаб . июль 2022 года . Проверено 6 июля 2022 г.
- ^ Павлов Игорь. «7-Зип» . 7-zip.org . Проверено 31 октября 2012 г.
- ^ Павлов Игорь. «7-Zip – Лицензия на использование и распространение» . 7-zip.org . Проверено 31 октября 2012 г.
- ^ Диас, Антонио Диас. «Лзип» . LZip.NonGNU.org . Архивировано из оригинала 29 июля 2010 года . Проверено 29 июля 2010 г.
- ^ Павлов Игорь. «Формат 7z» . 7-zip.org . Проверено 16 апреля 2017 г.
- ^ «7-Zip 2011 – TopTenREVIEWS» . Архивировано из оригинала 25 октября 2012 года.
- ^ Игорь Павлов. «7-Zip (домашняя страница)» . 7-zip.org . Архивировано из оригинала 21 января 2002 г. Заявления о производительности сжатия очень похожи в январе 2002 г. и апреле 2017 г.
- ^ Павлов Игорь. «Примечания к выпуску бета-версии 7-Zip 15.06» .
- ^ Виджай (11 мая 2013 г.). «Как извлечь файлы из резервной копии Nandroid» . АДЖКИ . Архивировано из оригинала 31 марта 2017 года . Проверено 16 апреля 2017 г.
- ^ «Информация о шифровании AES: спецификация шифрования AE-1 и AE-2» . ВинЗип . 30 января 2009 г.
- ^ Этвуд, Джефф (28 февраля 2009 г.). «Сжатие файлов в эпоху многоядерности» . Кодирующий ужас . Проверено 4 августа 2017 г.
- ^ «Синтаксис командной строки» . Sevenzip.osdn.jp.
- ^ «[ubuntu] Графический интерфейс для 7-zip? [Архив] - Форумы Ubuntu» . ubuntuforums.org .
- ^ -m (Установить метод сжатия) переключатель
- ^ «Домашняя страница Milkys — 7-Zip с поддержкой сжатия Zstandard, Brotli, Lz4, Lz5 и Lizard» . mcmilk.de .
- ^ "p7zip-zstd" . p7zip-проект. 4 мая 2023 г.
- ^ «NanaZip: производная от 7-Zip, предназначенная для современной Windows» . М2-Команда. 6 мая 2023 г.
- ^ «Ссылки» . 7-zip.org .
- ^ «Просмотр /LZMA SDK/4.23» . СоурсФордж . Проверено 12 февраля 2014 г.
- ^ Кантак, Стефан (8 декабря 2015 г.). «Исполняемые установщики уязвимы^WEVIL (случай 7): 7z*.exe позволяет удаленное выполнение кода с повышением привилегий» . SecLists.org .
- ^ Кантак, Стефан (22 декабря 2015 г.). «Исполняемые установщики уязвимы^WEVIL (случай 14): ScanNowUPnP.exe Rapid7 позволяет выполнять произвольный (удаленный) код» . SecLists.org .
- ^ Харт, Джон (21 декабря 2015 г.). «Уязвимость перехвата порядка поиска DLL ScanNow и устаревание» . Rapid7.com .
- ^ «Уязвимость в 7-Zip делает возможным выполнение произвольного кода» . cisecurity.org . 1 мая 2018 года.
- ^ «7-Zip 7Z Уязвимость удаленного выполнения кода при синтаксическом анализе файлов с потерей целочисленного значения» . Zerodayinitiative.com . 23 августа 2022 г.
- ^ «Инструмент сжатия файлов 7-Zip» . Snapfiles.com . ВебАтака . Проверено 12 октября 2012 г.
- ^ Джеймс, Джастин (10 ноября 2009 г.). «Обзор: приложение для сжатия файлов 7-Zip» . Техреспублика . стр. 1–2.
- ^ Статистика загрузок 7-zip-файлов на SourceForge.net (февраль 2024 г.)
- ^ «SourceForge.net: Награда «Выбор сообщества 2007»» . СоурсФордж . 15 июня 2007 года. Архивировано из оригинала 26 марта 2010 года . Проверено 16 апреля 2010 г.
- ^ Масьеро, Мануэль; Роос, Ахим (19 марта 2013 г.). «Производительность сжатия: 7-Zip, MagicRAR, WinRAR, WinZip» . Аппаратное обеспечение Тома . Проверено 25 апреля 2021 г.
Внешние ссылки
[ редактировать ]- программное обеспечение 1999 года
- Кроссплатформенное бесплатное программное обеспечение
- Экстракторы образов дисков
- Файловые архиваторы
- Бесплатное программное обеспечение для сжатия данных
- Бесплатные файловые менеджеры
- Бесплатное многоязычное программное обеспечение
- Бесплатное программное обеспечение, написанное на C.
- Бесплатное программное обеспечение, написанное на C++.
- Портативное программное обеспечение
- Программное обеспечение, использующее лицензию LGPL
- Программное обеспечение для сжатия Windows