Архів ZIP (.zip)

PKWARE Стандарт

ZIP: це формат архівних файлів, який підтримує стиснення без втрат і дає змогу об'єднувати кілька файлів і каталогів в один переносний контейнер.

Конвертувати з ZIP у TAR

Безкоштовний конвертер з ZIP у TAR у браузері. Миттєво конвертуйте файли на своєму пристрої.

Стиснути ZIP онлайн

Приватно - файли ніколи не залишають ваш пристрій

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли ZIP, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли ZIP, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

50 4B 03 04

ПОДАННЯ В ASCII: PK..

Стандартизація: PKWARE APPNOTE / ISO/IEC 21320-1

Технічні характеристики

Архітектура контейнераАрхівний контейнер, що об'єднує кілька файлів з індивідуальними заголовками стиснення
СтисненняDeflate (метод 8), Store (метод 0), BZIP2, LZMA, Zstandard
Порядок байтів (Endianness)Зворотний порядок байтів для всіх заголовків сигнатур, перевірок CRC32 і розмірів.
Колірні просториНе застосовується (бінарний контейнер для довільних файлів)
Канали та структураІєрархічні структури каталогів, потоки метаданих та контрольні суми файлів
Максимальні розміриСтандартний ZIP: 4 ГБ / 65 535 файлів; ZIP64: 16 ексабайт / 18 квінтильйонів файлів
ПрозорістьНе застосовується
Потокове та прогресивне завантаженняЦентральний каталог у кінці файлу забезпечує миттєвий перелік без розпакування

Технічна матриця порівняння: ZIP проти конкурентів

Технічний атрибутZIP (Поточний)7-Zip (7z)TAR.GZRAR
Сумісність з операційними системамиВбудована підтримка ZIP залежить від системи та її версії; у багатьох системах є власні засоби.Потребує 7-Zip або стороннього застосунку.Вбудовано в Linux/macOS; потрібен інструмент у WindowsПотребує WinRAR або бібліотеки unrar
Ефективність стисненняПомірна (алгоритм Deflate)Дуже висока (алгоритм LZMA/LZMA2)Помірна (Deflate поверх tar)Висока (пропрієтарний алгоритм стиснення RAR)
Суцільне архівуванняНі (кожен файл стискається незалежно)Так (суцільні блоки підвищують стиснення для дубльованого тексту)Так (стискає весь архів tar)Так (необов'язковий суцільний режим)
Вибіркове витягуванняШвидке миттєве витягування будь-якого окремого файлуВимагає розпакування попередніх суцільних блоківНеобхідно розпакувати потік до цільового файлуШвидко, якщо режим несуцільний

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Утиліта архівування повідомляє «End-of-central-directory signature not found» або зазначає, що архів недійсний.

Першопричина: Урізане завантаження, у якому відсутні кінцеві байти, що містять запис центрального каталогу.

Відновлення: Використовуйте 'zip -FF damaged.zip --out fixed.zip' для сканування заголовків локальних файлів з початку та відновлення нового центрального каталогу.

Аналіз безпеки та векторів атак на парсери

Основні загрози безпеці ZIP: це вразливість Zip Slip, що дає змогу вийти за межі цільового шляху, та бомби декомпресії.

Відомі вектори атак

  • Zip Slip: Шкідливі імена файлів, що містять послідовності обходу шляху '../../', які виходять за межі цільового каталогу витягування.
  • Zip Bomb: крихітні архіви, які розгортаються до петабайтів нульових даних (наприклад, 42.zip розміром 42 КБ розгортається до 4,5 ПБ), спричиняючи збій серверів через вичерпання дискового простору та пам’яті.
  • Вразливості застарілого шифрування ZipCrypto, що дозволяють відновити ключ на основі лише шифротексту за лічені хвилини.

Рекомендації щодо захисту: Завжди очищуйте й перевіряйте шляхи файлів під час розпакування, щоб вони залишалися в межах цільової папки. Установлюйте суворі обмеження на загальну кількість байтів і файлів під час розпакування ненадійних завантажень. Використовуйте шифрування WinZip AES-256.

Історичне походження та віхи

2015ISO/IEC 21320-1 офіційно затверджує ZIP як базовий контейнер для файлів EPUB, DOCX та JAR.
1998Microsoft Windows інтегрує вбудоване розпакування ZIP-папок у Windows 98 Plus!.
1989Створено Філом Катцем для PKZIP після судової тяганини з компанією SEA щодо формату ARC.

Основні переваги

  • Підтримується всіма операційними системами у світі без встановлення стороннього програмного забезпечення.
  • Центральний каталог, розташований у кінці архіву, дозволяє миттєво переглядати список файлів без розпакування.
  • Окремі файли можна витягувати вибірково без розпакування всього архіву.

Технічні обмеження та недоліки

  • Не забезпечує надійного збереження прав доступу до файлів UNIX або символічних посилань на різних платформах.
  • Несуцільне архівування означає, що коефіцієнт стиснення нижчий, ніж у 7z або tar.xz для великих колекцій подібних файлів.
  • Стандартне застаріле шифрування ZipCrypto зламано криптографічно (потрібен AES-256).

Цікаві технічні факти

  • Літери «PK» у заголовку ZIP-файлу: це ініціали Філа Катца (Phil Katz), винахідника PKZIP.
  • Деякі поширені формати використовують ZIP-контейнери, зокрема APK, JAR, DOCX і EPUB.
  • Оскільки ZIP дозволяє додавати дані перед заголовками локальних файлів або після центрального каталогу, він є улюбленим контейнером для поліглотних файлів, які одночасно функціонують як зображення, JAR або виконувані файли.

Поширені технічні запитання

У чому різниця між ZIP та 7Z?

ZIP універсально сумісний з усіма операційними системами без встановлення додаткового програмного забезпечення. 7Z використовує сучасний алгоритм LZMA/LZMA2 із суцільним стисненням, забезпечуючи коефіцієнти стиснення на 30-50 % вищі, але вимагає стороннього програмного забезпечення для відкриття на старіших системах.

Чому перегляд вмісту ZIP-файлу відбувається швидко?

ZIP зберігає «Central Directory» у самому кінці файлу. Щоб миттєво показати повне дерево каталогів та імена файлів, програма зчитує лише останні кілька кілобайтів і не розпаковує жодного файлу.

Чи можна легко зламати зашифровані ZIP-файли?

Застаріле шифрування ZIP (ZipCrypto) використовує слабкий 96-бітний потоковий шифр, який можна зламати за лічені хвилини інструментами для атаки за відомим відкритим текстом, наприклад bkcrack. Для криптографічного захисту сучасні архіви мають використовувати шифрування WinZip AES-256.