ZIP Archive
ZIP هو صيغة الأرشيف العالمية — مدعومة على كل أنظمة التشغيل والأجهزة الحديثة. ابتكرها Phil Katz عام 1989. تستخدم ضغط DEFLATE وتحقق سلامة CRC-32. تشفير AES-256 اختياري، ضمن مواصفة مفتوحة يقرأها أي أداة.
الاستخراج غير متاح حالياً. فك ضغط ZIP يتطلب دعم البث المتدفق — ميزة مخططة لتحديث مستقبلي.
أسئلة شائعة
كيف أفتح ملف ZIP؟
Windows وmacOS وLinux كلها تدعم ZIP أصلياً بدون برامج إضافية. على Windows انقر نقراً مزدوجاً أو انقر بالزر الأيمن واختر استخراج الكل. على macOS انقر نقراً مزدوجاً للاستخراج التلقائي. على Linux معظم مديري الملفات يتعاملون مع ZIP مباشرةً. Android وiOS يفتحان ملفات ZIP أصلياً.
ماذا يعني PK في ملفات ZIP؟
PK تعني فيل كاتز (Phil Katz) المبرمج الذي أنشأ صيغة ZIP عام 1989. كل ملف ZIP يبدأ بالبايتات الست عشرية 50 4B التي تُهجّئ أحرفه الأولى بترميز ASCII.
هل ملفات DOCX وXLSX حقاً ملفات ZIP؟
نعم. مستندات Microsoft Office بما فيها DOCX وXLSX وPPTX هي أرشيفات ZIP تحتوي ملفات XML. كتب EPUB وحزم APK لـ Android وملفات JAR لـ Java تستخدم أيضاً ZIP كحاوية.
هل ضغط ZIP بدون فقدان؟
نعم. ZIP يستخدم ضغط DEFLATE وهو بدون فقدان تماماً — الملفات المُستخرجة مطابقة للأصلية بت ببت. لا تُحذف أو تُقرّب أي بيانات أثناء الضغط.
لماذا ملف ZIP الخاص بي بالكاد أصغر من الملفات الأصلية؟
الملفات المضغوطة مسبقاً — صور JPEG وفيديو MP4 وصوت MP3 — تحتوي القليل من التكرار ليستغله DEFLATE. ضغط مجلد صور قد يُقلّل الحجم بنسبة واحد أو اثنين بالمائة فقط.
ما هي قنبلة ZIP؟
قنبلة ZIP أرشيف صغير يتوسع إلى حجم هائل عند الاستخراج. المثال الكلاسيكي 42.zip يبلغ 42 كيلوبايت مضغوطاً لكنه يتوسع إلى 4.5 بيتابايت. أدوات مكافحة الفيروسات الحديثة تكتشفه بفحص نسبة الضغط.
كيف أحمي ملف ZIP بكلمة مرور وتشفير قوي؟
استخدم 7-Zip مع تشفير AES-256. تشفير ZipCrypto الافتراضي مكسور تشفيرياً ويمكن كسره في ثوانٍ. في 7-Zip اختر صيغة ZIP واختر AES-256 كطريقة تشفير.
ما الحجم الأقصى لملف يمكن لأرشيف ZIP احتواؤه؟
ZIP القياسي محدود بـ 4 غيغابايت لكل ملف بسبب حقول 32 بت. امتدادات ZIP64 تُزيل هذه الحدود باستخدام حقول 64 بت تدعم ملفات حتى 16 إكسبيبايت.
ما يميز .ZIP
خلف كل ملف DOCX تُرسله بالبريد وكل APK تُثبّته وكل EPUB تقرأه يكمن أرشيف ZIP غير مرئي — صيغة حاوية أساسية لدرجة أن معظم الناس يستخدمونها يومياً بدون معرفة وجودها. قصة ZIP تبدأ ليس مع شركة أو هيئة معايير، بل مع مبرمج عمره ستة وعشرون عاماً من ميلووكي اسمه فيل كاتز.
اكتشف التفاصيل التقنية
قصة فيل كاتز
في 1988 واجه فيليب والتر كاتز دعوى قضائية من شركة SEA صاحبة صيغة الضغط ARC الشهيرة. بدلاً من الاستمرار في العمل ضمن صيغة شخص آخر، فعل كاتز شيئاً استثنائياً: أنشأ صيغة أرشيف جديدة كلياً من الصفر ونشر المواصفة علناً مُعلناً أنها ستبقى دائماً حرة. في 14 فبراير 1989 شُحن PKZIP 1.0. البايتات السحرية في بداية كل ملف ZIP — 50 4B بالست عشري، حرفا ASCII "PK" — هي الأحرف الأولى لاسم فيل كاتز، مُرمّزة دائماً في كل أرشيف ZIP أُنشئ على الإطلاق.
قراءة ملفات ZIP من الخلف: نموذج EOCD أولاً
لـ ZIP ميزة معمارية تُفاجئ معظم المطوّرين: الملف مُصمّم ليُقرأ من النهاية لا من البداية. أرشيف ZIP يحتوي ثلاثة أقسام رئيسية:
- ترويسات الملفات المحلية + البيانات المضغوطة — زوج واحد لكل ملف مؤرشف
- الدليل المركزي — مجموعة مُكرّرة من الإدخالات تعكس الترويسات المحلية مع بيانات وصفية كاملة
- سجل نهاية الدليل المركزي (EOCD) — سجل واحد في النهاية يُشير إلى الدليل المركزي
محلل ZIP يبدأ بالمسح من نهاية الملف لإيجاد توقيع EOCD (50 4B 05 06)، ثم يقرأ إزاحة الدليل المركزي، ومنه يحدد كل ملف. هذا التصميم المُرسى في النهاية يسمح بإلحاق ملفات دون إعادة كتابة الأرشيف. لكنه يعني أيضاً أن فقدان EOCD بسبب اقتطاع يجعل الأرشيف بالكامل غير قابل للقراءة.
DOCX وXLSX وEPUB وAPK — كلها ملفات ZIP
كثير من صيغ الملفات الشائعة هي ببساطة أرشيفات ZIP ببنى أدلة داخلية محددة. أعد تسمية ملف .docx إلى .zip وفك ضغطه — بداخله ملفات XML. ISO 21320-1:2015 رسّم هذه الممارسة بتعريف ملف تعريفي مُقيّد لـ ZIP لحاويات المستندات. وزارات الحكومة السعودية تستخدم ZIP كوسيلة قياسية لتوزيع حزم المستندات عبر البوابات الإلكترونية.
DEFLATE: الخوارزمية الداخلية
DEFLATE هي طريقة الضغط الافتراضية والمهيمنة في ملفات ZIP، تجمع بين مطابقة النوافذ المنزلقة LZ77 وترميز Huffman. تُحقق نسب ضغط نموذجية من 2:1 إلى 5:1 على النصوص والكود والبيانات المُهيكلة. DEFLATE أيضاً الخوارزمية داخل gzip وPNG وترميز محتوى HTTP.
ZIP64: كسر حاجز 4 غيغابايت
مواصفة ZIP الأصلية تُخزّن أحجام الملفات في حقول 32 بت، مما يحد بنحو 4 غيغابايت. امتدادات ZIP64 في إصدار APPNOTE 4.5 عام 2001 تستخدم حقولاً 64 بت تدعم ملفات حتى 16 إكسبيبايت.
الأمان: قنابل ZIP وZip Slip والتشفير الضعيف
قنبلة ZIP (42.zip): ملف 42 كيلوبايت يتوسع إلى 4.5 بيتابايت عبر طبقات متداخلة. Zip Slip (CVE-2018-1002200): هجوم اجتياز مسار عبر تسلسلات '../' في أسماء الملفات. ضعف ZipCrypto: مكسور تشفيرياً — أدوات مثل pkcrack تسترد المفتاح في ثوانٍ. تشفير AES-256 هو البديل الآمن.
مقارنة الضغط
ZIP يضغط كل ملف مستقلاً مما يُمكّن الوصول العشوائي لكنه يحد نسبة الضغط. صيغ الأرشيف المتماسك مثل 7z وRAR تضغط جميع الملفات كتيار واحد مُستغلةً التكرار بين الملفات لنسب أفضل 30-70%.
مقارنة .ZIP مع البدائل
| المقارنة | المعيار | الفائز |
|---|---|---|
| .ZIP vs .7Z | Compression ratio vs compatibility خوارزمية LZMA2 في 7z تُحقق ضغطاً أفضل بـ 30-70% من DEFLATE في ZIP على النصوص والكود، خاصةً في الوضع المتماسك. ZIP يفوز في التوافق — كل نظام تشغيل يفتحه أصلياً. | 7Z أفضل |
| .ZIP vs .RAR | Platform support and recovery ZIP مدعوم أصلياً في كل نظام تشغيل رئيسي بدون برامج إضافية. RAR يتطلب أدوات خارجية لكنه يوفر سجلات استرداد يمكنها إصلاح الأرشيفات التالفة جزئياً — ميزة يفتقر إليها ZIP تماماً. | تعادل |
| .ZIP vs .TAR.GZ | Random access vs Unix metadata ZIP يُخزّن كل ملف مستقلاً مما يُمكّن استخراج أي ملف فردي بدون معالجة الأرشيف بالكامل. TAR.GZ يحفظ صلاحيات Unix والروابط الرمزية والملكية التي يُسقطها ZIP. | تعادل |
المرجع التقني
- نوع MIME
application/zip- Magic Bytes
50 4B 03 04توقيع PK (أحرف Phil Katz الأولى).- المطوّر
- Phil Katz / PKWARE
- سنة التقديم
- 1989
- معيار مفتوح
- نعم
توقيع PK (أحرف Phil Katz الأولى).
البنية الثنائية
ZIP يستخدم تخطيطاً من ثلاثة أقسام: إدخالات الملفات المحلية والدليل المركزي وسجل نهاية الدليل المركزي (EOCD). كل إدخال محلي يبدأ بالتوقيع 50 4B 03 04 يتبعه ترويسة 26 بايت تحتوي الإصدار والأعلام وطريقة الضغط والطوابع الزمنية وCRC-32 والأحجام. الدليل المركزي يعكس كل إدخال بالتوقيع 50 4B 01 02. سجل EOCD (50 4B 05 06) يُخزّن عدد الإدخالات وإزاحة الدليل المركزي. المحللات تحدد EOCD بالمسح للخلف من نهاية الملف.
| Offset | Length | Field | Example | Description |
|---|---|---|---|---|
0x00 | 4 bytes | Local File Header Signature | 50 4B 03 04 | PK — أحرف فيل كاتز الأولى. تُعلّم بداية كل إدخال ملف محلي. |
0x04 | 2 bytes | Version Needed to Extract | 14 00 (v2.0) | الحد الأدنى لإصدار مواصفة ZIP المطلوب. 0x0014 = 2.0 (DEFLATE). 0x002D = 4.5 (ZIP64). |
0x08 | 2 bytes | Compression Method | 08 00 (DEFLATE) | 0 = تخزين (بدون). 8 = DEFLATE. 14 = LZMA. 93 = Zstandard. |
0x0E | 4 bytes | CRC-32 | 48 C9 11 48 | المجموع الاختباري CRC-32 لبيانات الملف غير المضغوط. |
EOF-22 | 4 bytes | EOCD Signature | 50 4B 05 06 | سجل نهاية الدليل المركزي. المحللات تمسح للخلف من نهاية الملف لإيجاده. |
الاستخراج غير متاح حالياً. فك ضغط ZIP يتطلب دعم البث المتدفق — ميزة مخططة لتحديث مستقبلي.
نقاط الضعف
- قنبلة ZIP (42.zip): ملف 42 كيلوبايت يتوسع إلى 4.5 بيتابايت عبر تداخل متكرر لـ 16 ملف ZIP لكل طبقة.
- Zip Slip (اجتياز المسار): أسماء ملفات تحتوي تسلسلات '../' تجعل مكتبات الاستخراج الضعيفة تكتب ملفات خارج الدليل المقصود. CVE-2018-1002200.
- ضعف تشفير ZipCrypto: مخطط تشفير PKWARE التقليدي مكسور تشفيرياً — أدوات مثل pkcrack تسترد المفتاح في ثوانٍ.
- هجمات الروابط الرمزية: أرشيفات خبيثة تحتوي روابط رمزية تُشير خارج دليل الاستخراج.
- توصيل حمولات خبيثة: ZIP أكثر وسيلة شائعة لبرامج البريد الإلكتروني الخبيثة. ملفات ZIP المحمية بكلمة مرور تتجاوز فحص بوابات البريد.
الحماية: استخرج إلى دليل فارغ جديد أبداً إلى مسارات النظام. استخدم تشفير AES-256 (7-Zip -mem=AES256) أبداً ZipCrypto. حدد حدود حجم مفكوك الضغط لمنع هجمات قنابل ZIP.
- مواصفات PKWARE APPNOTE.TXT v6.3.9 — .ZIP File Format Specification
- مواصفات ISO/IEC 21320-1:2015 — Document Container File (restricted ZIP profile)
- سجل Library of Congress FDD — ZIP File Format (fdd000354)
- سجل IANA Media Type — application/zip
- تاريخ Wikipedia — Phil Katz biography and ZIP format history
- صناعة Snyk — Zip Slip Vulnerability (CVE-2018-1002200)