Архів ZIP (.zip)
PKWARE СтандартZIP: це формат архівних файлів, який підтримує стиснення без втрат і дає змогу об'єднувати кілька файлів і каталогів в один переносний контейнер.
Конвертувати з ZIP у TAR
Безкоштовний конвертер з ZIP у TAR у браузері. Миттєво конвертуйте файли на своєму пристрої.
Стиснути ZIP онлайн
Приватно - файли ніколи не залишають ваш пристрій
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли ZIP, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (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.GZ | RAR |
|---|---|---|---|---|
| Сумісність з операційними системами | Вбудована підтримка 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.
Історичне походження та віхи
Основні переваги
- Підтримується всіма операційними системами у світі без встановлення стороннього програмного забезпечення.
- Центральний каталог, розташований у кінці архіву, дозволяє миттєво переглядати список файлів без розпакування.
- Окремі файли можна витягувати вибірково без розпакування всього архіву.
Технічні обмеження та недоліки
- Не забезпечує надійного збереження прав доступу до файлів 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.
Пов'язані пари конвертації ZIP
Конвертація ZIP-архіву в TAR-архів перетворює стиснений файловий контейнер на нестиснений формат стрічкового архіву, придатний для середовищ Unix.
Конвертація TAR-архіву в ZIP-архів перетворює нестиснений контейнер Unix на універсально доступний стиснений формат файлу.
Перетворення ZIP на 7z перепаковує архів з іншим набором параметрів стиснення; результат може бути меншим або більшим залежно від файлів і налаштувань.
Перетворення 7z на ZIP може полегшити відкриття архіву в програмах із підтримкою ZIP. Ступінь стиснення залежить від типу файлів і налаштувань.
Розпаковуйте однотомні архіви RAR4/RAR5, зокрема суцільні, у стандартні файли ZIP безпосередньо у вашому браузері без завантаження на сервер.