ZIP解压
直接在浏览器中解压压缩包,带密码的也可以;危险路径会清理干净,损坏的条目如实列出,不会隐藏。
把文件拖到这里
.zip · 最大300 MB
更多设置收起设置
如何解压文件
- 1
拖入ZIP文件
先读取压缩包目录,解压之前就能看到里面有什么。
- 2
压缩包需要密码时输入密码
ZipCrypto和AES-128/192/256都支持;密码错误时会明确提示,不会解出一堆乱码。
- 3
解压并下载
解压出的文件保留原有的文件夹结构;如果压缩包里只有一个文件,就单独返回这个文件。
两种ZIP加密都能处理
Windows资源管理器和旧版压缩软件的密码选项生成的是ZipCrypto,这是最早的PKZIP里的一种流密码,密码校验只有一个字节,也就是说大约每256个错误密码中就有一个能通过校验。所以这里还会验证每个解压条目的校验和,即使错误密码混过了字节校验,也会在你下载乱码之前被发现。现代压缩软件生成的是WinZip AES,它用PBKDF2派生密钥,以计数器模式加密;这里同样能读取,包括它的两字节验证值,所以无需解密整个条目就能立刻识别错误密码。
试图逃出压缩包的路径
ZIP条目可以命名为../../etc/passwd或C:\Windows\system32\x.dll。格式本身并不禁止,而如实写入这种路径的解压程序会覆盖用户所选文件夹之外的文件,这类漏洞叫作zip slip。这里每个路径在使用前都要检查:上级目录片段、绝对路径和盘符都会去掉,只留下文件名本身;需要清理的条目数量也会报告出来,故意构造的恶意压缩包不会悄悄混过去。普通的嵌套路径不受影响,文件名中间的点也不会视为可疑。
一个坏条目不影响其余文件
压缩包会在传输中损坏,老压缩包有时还用从未普及的压缩方法。这里不会因此拒绝整个文件,而是逐个处理条目:校验和不匹配的条目跳过并列出名字,压缩方法不是store或deflate的条目也跳过并列出名字。其余文件正常解压,各类数量显示在结果中。有用的结果是恢复十九个文件,再附上一份写明丢失了哪一个的清单,而不是一条针对整个压缩包的报错。
密码不会离开你的浏览器
读取压缩包、派生密钥和解密每个条目,全部在这个标签页里完成。密码只在本地使用,用完即丢弃;压缩包不会上传,两者的任何部分都不会保存在任何地方。
常见问题
支持哪些密码保护方式?
ZIP定义的两种都支持:Windows资源管理器和旧版压缩软件生成的传统ZipCrypto,以及现代压缩软件使用的128、192和256位WinZip AES。整个压缩包使用同一个密码。
为什么得到的是一个新ZIP,而不是散开的文件?
网页无法把任意的文件夹树写到你的磁盘上,所以解压出的文件放进一个新的压缩包返回,不压缩存储,结构保持不变。只解压出一个文件时,单独返回这个文件。
“不支持的压缩方法”错误是什么意思?
说明某个条目用的不是store或deflate,通常是桌面压缩软件的BZIP2、LZMA或PPMd。这个条目会跳过并列出名字,压缩包的其余部分正常解压。
在这个页面输入密码安全吗?
密码只在你的浏览器里用于派生解密密钥,不会传输,也不会保存。压缩包和密码的任何信息都不会离开这个标签页。
路径里带../的条目会怎么处理?
写入任何内容之前,它们会清理成单纯的文件名,这类条目的数量也会报告出来。正是这一步防止压缩包覆盖你所选文件夹之外的文件。
能只解压其中一部分文件吗?
能。把条目选择切换为自定义,列出想要的路径;只有这些条目会解压,压缩包很大时明显更快。
最大能处理多大的压缩包?
最多两万个条目。超过这个数量会建议你使用桌面压缩软件,因为在浏览器标签页里汇总这么多结果,不是可以保证的事。