ZIP 备份 (.zip)
PKWARE 标准ZIP 是一种支持无损数据压缩的归档文件格式,允许将多个文件和目录打包到一个可传输的容器中。
将 ZIP 转换为 TAR
免费的浏览器端 ZIP 转 TAR 转换器。在您的设备上即时转换文件。
在线压缩 ZIP
隐私保护 - 文件不会离开您的设备
检查与元数据
操作系统和文件分析器通过检查开头的二进制字节序列来识别 ZIP 文件:
字节级文件头签名 (魔数)
操作系统和文件分析器通过检查开头的二进制字节序列来识别 ZIP 文件:
十六进制签名 (偏移量 0):
50 4B 03 04ASCII 表示形式: PK..
标准化: PKWARE APPNOTE / ISO/IEC 21320-1
技术规格
| 容器架构 | 将多个文件与各自的压缩头组合在一起的归档容器 |
| 压缩方式 | Deflate (Method 8), Store (Method 0), BZIP2, LZMA, Zstandard |
| 字节序 | 所有签名头、CRC32 校验值和大小字段均采用小端字节序 (Little-Endian) |
| 色彩空间 | 不适用(任意文件的二进制容器) |
| 通道与结构 | 分层目录结构、元数据流和文件校验和 |
| 最大尺寸 | 标准 ZIP:4 GB / 65,535 个文件;ZIP64:16 EB / 1800京个文件 |
| 透明度 | 不适用 |
| 流式传输与渐进式加载 | 文件末尾的中央目录支持无需解压即可即时列出文件 |
技术对比矩阵:ZIP 对比同类产品
| 技术属性 | ZIP (当前) | 7-Zip (7z) | TAR.GZ | RAR |
|---|---|---|---|---|
| 操作系统兼容性 | 系统内置的 ZIP 支持因操作系统及版本而异;许多系统都提供自带工具。 | 需要 7-Zip 或第三方应用程序 | Linux/macOS 原生支持;Windows 中需要工具 | 需要 WinRAR 或 unrar 库 |
| 压缩效率 | 中等(Deflate 算法) | 非常高(LZMA/LZMA2 算法) | 中等(在 tar 基础上使用 Deflate) | 高(RAR 专有压缩) |
| 固实归档 | 否(每个文件独立压缩) | 是(固实块可提高重复文本的压缩率) | 是(压缩整个 tarball) | 是(可选的固实模式) |
| 选择性解压 | 快速即时提取任意单个文件 | 需要解压前面的固实块 | 必须将数据流解压到目标文件 | 如果是非固实则很快 |
常见损坏模式与十六进制恢复指南
归档实用程序报告"找不到中央目录结束签名"或归档无效。
根本原因: 下载截断,丢失了包含中央目录记录的最后几个字节。
恢复方法: 使用命令"zip -FF damaged.zip --out fixed.zip"从头扫描本地文件头并重建新的中央目录。
安全分析与解析器攻击向量
ZIP 安全的核心是 Zip Slip 路径遍历漏洞和解压炸弹。
已知攻击向量
- Zip Slip:包含"../../"路径遍历的恶意文件名,可逃逸出目标解压目录。
- Zip Bomb:展开后可达数 PB 零的微小归档(例如 42.zip 42 KB 展开后达 4.5 PB),通过耗尽磁盘和内存来使服务器崩溃。
- 传统的 ZipCrypto 加密漏洞允许在几分钟内仅通过密文恢复密钥。
防御性最佳实践: 始终对解压文件路径进行净化,确保它们保留在目标文件夹内。解压不受信任的上传文件时,设置严格的最大字节数和文件数限制。请使用 WinZip AES-256 加密。
历史渊源与里程碑
核心优势与特点
- 全球所有操作系统原生支持,无需安装第三方软件。
- 位于归档文件末尾的中央目录允许在不解压的情况下即时列出文件。
- 可以有选择地提取单个文件,而无需解压整个归档。
技术局限与劣势
- 无法跨平台可靠地存储 UNIX 文件权限或符号链接。
- 非固实归档意味着对于大量相似文件,其压缩率低于 7z 或 tar.xz。
- 标准的传统 ZipCrypto 加密在密码学上已被破解(必须使用 AES-256)。
趣味技术冷知识
- ZIP 文件头中的"PK"代表 PKZIP 的发明者 Phil Katz。
- 一些常见格式采用 ZIP 容器,包括 APK、JAR、DOCX 和 EPUB。
- 由于 ZIP 允许在本地文件头之前或中央目录之后追加数据,因此多格式文件常以 ZIP 为容器,让同一文件可同时作为图像、JAR 或可执行文件运行。
常见技术问题
ZIP 和 7Z 有什么区别?
ZIP 在每个操作系统上都具有通用兼容性,无需安装额外软件。7Z 使用具有固实压缩功能的现代 LZMA/LZMA2 算法,可实现高出 30% - 50% 的压缩率,但在旧系统上需要第三方软件才能打开。
为什么查看 ZIP 文件内容的速度很快?
ZIP 在文件最末尾存储了一个"中央目录"。软件只需读取最后几千字节即可立即显示完整的目录树和文件名,而无需解压任何文件。
加密的 ZIP 文件能轻易被破解吗?
传统的 ZIP 加密(ZipCrypto)使用弱 96 位密钥流密码,可以使用 bkcrack 等明文攻击工具在几分钟内被破解。现代归档必须使用 WinZip AES-256 加密来保证密码学安全性。
相关的 ZIP 转换对
将 ZIP 归档转换为 TAR 归档,可将压缩文件容器转换为适用于 Unix 环境的未压缩磁带归档格式。
将 TAR 归档转换为 ZIP 归档,可把未压缩的 Unix 归档转换为广泛使用的压缩文件格式。
将 ZIP 转换为 7z 会使用另一组压缩选项重新打包归档;结果文件可能变大或变小,具体取决于文件内容和设置。
将 7z 转换为 ZIP,可以让归档更容易在支持 ZIP 的软件中打开;压缩率因文件类型和设置而异。
直接在浏览器中将单卷 RAR4/RAR5 压缩包(包括实心压缩包)解压为标准 ZIP 文件,无需上传到服务器。