ไฟล์เก็บถาวร ZIP (.zip)
PKWARE มาตรฐานZIP คือรูปแบบไฟล์คลังข้อมูลที่รองรับการบีบอัดข้อมูลแบบไม่สูญเสียข้อมูล ซึ่งช่วยให้สามารถรวมไฟล์และไดเรกทอรีหลายไฟล์ลงในคอนเทนเนอร์สำหรับการขนย้ายเพียงชุดเดียว
แปลง ZIP เป็น TAR
ตัวแปลงจาก ZIP เป็น TAR ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
บีบอัด ZIP ออนไลน์
เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ ZIP โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ ZIP โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
50 4B 03 04การแสดงผลรูปแบบ ASCII: PK..
มาตรฐาน: PKWARE APPNOTE / ISO/IEC 21320-1
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | คอนเทนเนอร์คลังข้อมูลที่รวมหลายไฟล์เข้าด้วยกันพร้อมส่วนหัวการบีบอัดเฉพาะตัว |
| การบีบอัด | Deflate (วิธี 8), Store (วิธี 0), BZIP2, LZMA และ Zstandard |
| การจัดลำดับไบต์ | Little-Endian สำหรับส่วนหัวลายเซ็นทั้งหมด, การตรวจสอบ CRC32 และขนาด |
| พื้นที่สี | ไม่เกี่ยวข้อง (คอนเทนเนอร์ไบนารีสำหรับไฟล์ประเภทใดก็ได้) |
| ช่องสัญญาณและโครงสร้าง | โครงสร้างไดเรกทอรีแบบลำดับชั้น, สตรีมข้อมูลเมตา และค่าตรวจสอบความถูกต้องของไฟล์ |
| ขนาดสูงสุด | ZIP มาตรฐาน: 4 GB / 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 ทั้งหมด) | ใช่ (โหมดรวมกลุ่มเสริม) |
| การแยกไฟล์เฉพาะส่วน | แยกไฟล์เดี่ยวใดๆ ได้อย่างรวดเร็วทันที | ต้องคลายบีบอัดบล็อกรวมกลุ่มที่อยู่ก่อนหน้า | ต้องคลายบีบอัดสตรีมจนถึงไฟล์เป้าหมาย | รวดเร็วหากไม่ใช่แบบรวมกลุ่ม |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
ยูทิลิตี้คลังข้อมูลรายงาน 'End-of-central-directory signature not found' หรือคลังข้อมูลไม่ถูกต้อง
สาเหตุหลัก: การดาวน์โหลดถูกตัดทอนโดยขาดไบต์สุดท้ายที่มีเรคอร์ดไดเรกทอรีกลาง
การกู้คืน: ใช้คำสั่ง 'zip -FF damaged.zip --out fixed.zip' เพื่อสแกนส่วนหัวไฟล์ในเครื่องตั้งแต่ต้นและสร้างไดเรกทอรีกลางใหม่ขึ้นมา
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ประเด็นความปลอดภัยสำคัญของ ZIP คือช่องโหว่ Zip Slip ที่ทำให้แตกไฟล์ข้ามเส้นทางได้ และระเบิดจากการคลายการบีบอัด
เวกเตอร์การโจมตีที่ทราบ
- Zip Slip: ชื่อไฟล์อันตรายที่มีเส้นทาง '../../' ทำให้แตกไฟล์ออกนอกโฟลเดอร์เป้าหมาย
- Zip Bomb: คลังข้อมูลขนาดเล็กที่เมื่อคลายการบีบอัดแล้วขยายเป็นข้อมูลศูนย์ระดับเพตาไบต์ (เช่น 42.zip ขนาด 42 KB ขยายเป็น 4.5 PB) จนใช้พื้นที่ดิสก์และหน่วยความจำของเซิร์ฟเวอร์หมดและทำให้ระบบล่ม
- ช่องโหว่การเข้ารหัส ZipCrypto แบบดั้งเดิมที่อนุญาตให้กู้คืนคีย์จาก ciphertext อย่างเดียวได้ภายในไม่กี่นาที
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ตรวจสอบและทำความสะอาดเส้นทางไฟล์ก่อนแตกไฟล์เสมอเพื่อให้แน่ใจว่ายังคงอยู่ภายในโฟลเดอร์เป้าหมาย กำหนดขีดจำกัดจำนวนไบต์และจำนวนไฟล์สูงสุดอย่างเข้มงวดเมื่อทำการ unzip ไฟล์อัปโหลดที่ไม่น่าเชื่อถือ ใช้การเข้ารหัส 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 จัดเก็บ 'ไดเรกทอรีกลาง' ไว้ที่ส่วนท้ายสุดของไฟล์ ซอฟต์แวร์เพียงแค่อ่านกิโลไบต์สุดท้ายไม่กี่กิโลไบต์เพื่อแสดงแผนผังไดเรกทอรีและชื่อไฟล์ทั้งหมดทันทีโดยไม่ต้องคลายบีบอัดไฟล์ใดๆ
ไฟล์ ZIP ที่เข้ารหัสสามารถถูกแฮกได้ง่ายหรือไม่
การเข้ารหัส ZIP แบบเก่า (ZipCrypto) ใช้สตรีมไซเฟอร์ที่มีคีย์ 96 บิตซึ่งอ่อนแอ และเจาะได้ภายในไม่กี่นาทีด้วยเครื่องมือโจมตีโดยอาศัย plaintext เช่น bkcrack คลังข้อมูลสมัยใหม่ควรใช้การเข้ารหัส WinZip AES-256 เพื่อให้มีความปลอดภัยด้านการเข้ารหัส
คู่การแปลงไฟล์ ZIP ที่เกี่ยวข้อง
การแปลงไฟล์เก็บถาวร ZIP เป็นไฟล์ TAR จะเปลี่ยนคอนเทนเนอร์ไฟล์บีบอัดให้เป็นรูปแบบไฟล์เก็บถาวรแบบเทปที่ไม่บีบอัด ซึ่งเหมาะกับสภาพแวดล้อม Unix
การแปลงไฟล์ TAR เป็น ZIP จะเปลี่ยนคอนเทนเนอร์ Unix ที่ไม่บีบอัดให้เป็นรูปแบบไฟล์บีบอัดที่ใช้กันอย่างแพร่หลาย
การแปลง ZIP เป็น 7z จะบรรจุไฟล์เก็บใหม่ด้วยตัวเลือกการบีบอัดชุดอื่น ไฟล์ผลลัพธ์อาจเล็กลงหรือใหญ่ขึ้นตามไฟล์และการตั้งค่า
การแปลง 7z เป็น ZIP ช่วยให้เปิดไฟล์เก็บได้ง่ายขึ้นในซอฟต์แวร์ที่รองรับ ZIP อัตราการบีบอัดแตกต่างตามชนิดไฟล์และการตั้งค่า
แตกไฟล์เก็บถาวร RAR4/RAR5 แบบวอลุ่มเดียว รวมถึงไฟล์แบบ solid ให้เป็นไฟล์ ZIP มาตรฐานได้โดยตรงในเบราว์เซอร์ โดยไม่มีการอัปโหลดไปยังเซิร์ฟเวอร์