This question关于 zip 炸弹自然而然地把我带到了 Wikipedia page关于这个话题。文章提到了一个 45.1 kb 的 zip 文件解压缩到 1.3 艾字节的示例。
首先用于创建此类文件的原则/技术是什么?我不想真正这样做,更感兴趣的是对所涉及概念的简化“工作原理”解释。
文章提到了9层zip文件,所以这不是简单的压缩一堆零的情况。为什么是 9 个,为什么每个 10 个文件?
最佳答案
引用自维基百科页面:
One example of a Zip bomb is the file 45.1.zip which was 45.1 kilobytes of compressed data, containing nine layers of nested zip files in sets of 10, each bottom layer archive containing a 1.30 gigabyte file for a total of 1.30 exabytes of uncompressed data.
因此,您只需要一个 1.3GB 的全零文件,将其压缩成一个 ZIP 文件,制作 10 个副本,将它们打包成一个 ZIP 文件,然后重复此过程 9 次。
通过这种方式,您将获得一个文件,当完全解压缩时,该文件会产生大量数据,而无需您从该数量开始。
此外,嵌套的文件使病毒扫描程序(这些“炸弹”的主要目标)等程序更难变得聪明并拒绝解压“太大”的文件,因为直到最后一层数据不是那么多,在达到最低级别之前,您不会“看到”最低级别的文件有多大,并且每个单独的文件都不是“太大” - 只有数量庞大才有问题。
关于algorithm - 如何制作 Zip 炸弹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1459673/