Zip break 是一款用于解析、修改和重新组装 zip 文件的工具,适用于多种任务。它设计为跨平台,并尽可能简化在不同系统间的移植。已在 Windows 9x/2k/XP、Windows Vista/7/8、Fedora 23/24/25/26/27、Kali、Debian 8/9、Qubes 3.2/4.0、Whonix 13/14、Ubuntu 10、FreeBSD 11 以及多种 Android 手机上测试通过。在 Linux/UNIX 机器上编译只需执行 gcc -o zipbrk zipbrk.c。Windows 用户可将文件导入默认的 Visual Studio(Community 版现已免费,完全可用)项目,然后按 F7。
| CVE | 触发条件 |
|---|---|
| CVE-2004-0932 | -c / -u |
| CVE-2014-8139 | -xs |
| CVE-2014-8140 | -xc / -xu |
| CVE-2014-8141 | -xc / -xu |
| CVE-2015-7696 | -s |
| CVE-2015-7697 | -s |
| CVE-2018-1000035 | -e / -xs |
以下是一些使用示例:
zipbrk file.zip --encryption-set --xor-crc32
此命令将指示 zipbrk 设置文件中的加密标志,并修改与之关联的 CRC32 校验和。在修改校验和时,系统会提示用户输入密码,用作需要进行唯一修改的任何操作中的密钥。
请注意,加密标志已设置,但内容仍然不一定被加密。Zip 文件程序通常会在设置了加密标志时提示输入密码,且无法意识到数据实际上并未被加密,但数据实际上仍以明文形式存在。
一种更安全的替代方案可能是先加密一个 zip 文件,然后使其看起来像未加密状态,这可能导致用户认为文件已损坏。
--encryption-unset
已知某些反病毒软件在文件头的未压缩大小参数设置为 0 字节时,不会扫描文件内容(CVE-2004-0932 等)。
--zero-uncompressed
如果提供商不允许传输或存储 zip 文件(例如 Gmail 等),可以更改 zip 文件签名以欺骗 zip 处理器,使其认为文件不是 zip 格式。接收端收到后,可以将签名改回。
--signature-spoof