Перейти к содержимому
PulsarKit

Распаковать ZIP

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

Перетащите файлы сюда

.zip · до 300 МБ

Больше настроек

Как распаковать

  1. 1

    Перетащите ZIP-файл

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

  2. 2

    Введите пароль, если он нужен

    Поддерживаются ZipCrypto и AES-128/192/256. Неверный пароль распознается сразу, а не превращается в набор мусорных файлов.

  3. 3

    Распакуйте и скачайте

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

Два вида шифрования ZIP, оба поддерживаются

Опция пароля в Проводнике Windows и старых архиваторах создает ZipCrypto — потоковый шифр из оригинального PKZIP. В нем на проверку пароля отведен всего один байт, поэтому примерно один неверный пароль из 256 проходит. Поэтому здесь дополнительно проверяется контрольная сумма каждого распакованного элемента. Так пароль, случайно прошедший однобайтовую проверку, все равно отсеивается до того, как вы скачаете набор мусора. Современные архиваторы вместо этого создают WinZip AES: ключ выводится через PBKDF2, данные шифруются в режиме счетчика. Такие архивы тоже читаются, с проверкой двухбайтового контрольного значения, поэтому неверный пароль обнаруживается сразу, без расшифровки всего содержимого элемента.

Пути, которые пытаются выйти за пределы архива

Элемент ZIP может называться ../../etc/passwd или C:\Windows\system32\x.dll. Формат этого не запрещает, и распаковщик, который записывает такой путь как есть, перезаписывает файлы за пределами папки, которую выбрал пользователь. Это уязвимость класса zip slip. Здесь каждый путь проверяется перед использованием: сегменты родительских папок, абсолютные пути и буквы дисков обрезаются до простого имени файла. Количество элементов, которым потребовалась такая очистка, показывается отдельно, чтобы вредоносный архив не остался незамеченным. Обычные вложенные пути не трогаются, а точка внутри имени файла не считается подозрительной.

Один плохой элемент не ломает весь архив

Архивы повреждаются при передаче, а в старых иногда встречаются методы сжатия, которые так и не прижились. Вместо того чтобы отбрасывать весь архив, инструмент обрабатывает каждый элемент отдельно. Если его контрольная сумма не сходится, он пропускается и указывается по имени. Элемент с методом сжатия, отличным от store или deflate, тоже пропускается и называется явно. Все остальное распаковывается как обычно, а итоговые счетчики показываются в результате. Полезный исход — девятнадцать восстановленных файлов и точное имя одного потерянного, а не одно общее сообщение об ошибке на весь архив.

Пароль не покидает ваш браузер

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

Частые вопросы

Какая защита паролем поддерживается?

Обе, которые предусмотрены форматом ZIP: устаревший ZipCrypto, который создают Проводник Windows и старые архиваторы, и WinZip AES на 128, 192 и 256 бит, используемый современными архиваторами. Один пароль применяется ко всему архиву.

Почему я получаю новый ZIP, а не просто файлы?

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

Что значит ошибка про неподдерживаемый метод сжатия?

Что элемент сжат чем-то кроме store или deflate — обычно это BZIP2, LZMA или PPMd из настольного архиватора. Такой элемент пропускается и указывается по имени, а остальная часть архива распаковывается как обычно.

Безопасно ли вводить пароль на этой странице?

Пароль используется только в вашем браузере, чтобы вывести ключ для расшифровки, и никогда не передается и не сохраняется. Ничего из архива и ничего о пароле не покидает эту вкладку.

Что происходит с элементами, у которых в пути есть ../?

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

Можно ли распаковать только часть файлов?

Да. Переключите выбор элементов на «выборочно» и перечислите нужные пути. Будут распакованы только они, что заметно быстрее на большом архиве.

Какого размера архив этот инструмент выдерживает?

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

Похожие инструменты