你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

百事数码
2018-08-31 15:39:02 百事科技

小伙伴们听说过 ZIP 炸弹吗?一个很小很小的,几十 KB 的压缩过后的文件,解压以后有几百万 GB ,好像炸弹一样,瞬间让电脑 硬盘 BOOM。

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!
BOOM

在继续介绍压制炸弹之前,小编想先问问各位都用过哪些压缩软件?

  • WinRAR ?

  • 或者 2345 好压?

  • 还是开源的 7 - Zip ?

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

其实压缩软件虽然五花八门,但目的都很单纯:把文件占用空间缩小。不过上面提到的压缩软件,又不单纯是缩小空,比如 JPG 图片 , MP3 音乐格式也起到了压缩作用,但是 JPG, MP3 们执行的是有损压缩。

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

一旦个文件被有损压缩的时候,会损失一部分数据。损失的代价就是,你无法从被压缩的文件还原出压缩前的文件。

图片,音乐等多媒体在有的时候考虑可用性和传播性,对这样的结果是可以接受的。但对许多通用数据来说,往往需要的是无损压缩,比如 .zip 。

对于无损压缩来说,算法非常重要,不同的算法能实现的压缩率和速度有很大差别。

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

如上图所示,主流的算法一般在 30% - 40% 。而文章一开始介绍的 ZIP 炸弹,是一个名为 42.zip 的文件

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

它的初始大小是 42KB , 解压密码是 42 ;

解压之后的大小,足足有 4.5 PB

嗯。。。就是这么嚣张,450 PB,足以让任何普通用户电脑硬盘奔溃。

解压这个 42.zip 以后会出现 16 个压缩包,每个压缩包又包含 16 个,如此循环 5 次,最后得到 16 的 5 次方个文件,也就是 1048576 个。


  1. 这一百多万个最终文件,每个大小为 4.3 GB

  2. 因此整个解压过程结束以后,会得到 1048576 * 4.6 GB = 4508876.8 GB

  3. 也就是 4508876.8 ÷ 1024 ÷ 1024 = 4.5 PB

还有比它更嚣张的呢~一个叫做 droste.zip 的大小为 28 KB 的文件,一旦被打开了以后,就会无限解压缩生成一份同样的文件,直到永远,也就是直接让硬盘 BOOM 掉。

这个文件名灵感应该取自德罗斯特效应,是指一张图片的部分与整张图片相同,无限循环,如下图。

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

总而言之,这个 droste.zip 的核心原理就是输出结果为自身。

举个例子,制作者大概做了这么一件事:在引号里重复这句话 " 在引号里重复这句话 "然后解压缩之后,硬盘就。。。 BOOM

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

当然,也有剑走偏锋思路不同的。有一段名为 《 彗星撞地球 》 的影片,也展现了神奇的压缩比率。

这段 3D 影片如果直接放出来要 15 G 左右,效果。。。放在它出生的年代 2000 年还真不差。

这个压缩过的大小只有 64 KB, 压缩了 25 万倍 !

实现的原理其实不算通常意义上的压缩。而是制作组 Warez 做了一个 64KB 的可执行 EXE 文件,运行的时候会调用显卡,CPU 及内存等等及时渲染动画。

打个比方,动画就好比连环画,传统影片是画好的一册,而这个 《 彗星撞地球 》 则是看的时候现场一幅幅画。

小编用录屏软件录了 7 分钟都要 2.27 G 。( 当然,这和现代显示屏分辨率比较高有关系 )

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

那么问题来了。。。

一个文件的压缩率有极限吗?

有,可以由信息学之父克劳德 · 香农提出的信息熵函数算出来。

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

不过 42.zip 也好,droste.zip 也好,不适合套用香农提出的极限。

因为这两个文件为了达到惊人的压缩比,有大量刻意重复的数据,这种重复数据在压缩的时候是可以被丢弃的,没啥实质性内容的信息。

那么,如果动画还有点传播意义, 42.zip 和 droste. zip 还有啥意义呢?这儿就要提就是 ZIP 炸弹之所以被称作 " 炸弹 " 的真正原因了。。。除了会 " 爆炸 " , 这玩意儿其实是拿来攻击别人的。

你听说过ZIP炸弹吗? 一个42KB解压完4.5PB大小 硬盘跪了!

某些病毒制作者利用杀毒软件会扫描压缩文件内部的特性,会把 ZIP 炸弹连带病毒一起发到目标电脑上。

而 ZIP 炸弹表面上看起来很小,易于传输,但实际上扫描起来非常花时间。

趁着杀毒软件忙着扫描 4.5 PB 的数据,被占用时,病毒软件就可以趁虚而入了 ~

干黑产的,角度刁钻得让人折腰。

不过现在很多杀毒软件已经有办法避开这种 zip 炸弹的佯攻了,这个话题渐渐地抛开了黑产。

一直以来压缩算法是算法研究里津津乐道的话题, Huffman 树, LZW 字典等等。。。

用程序解决信息问题的姿势,仔细一琢磨也挺有意思的不是?

网友热评:

  1. 压缩其实很简单,比如昆~哥就从一米多的大汉压缩到了一个小盒子里面!

  2. 可以用来压缩大型游戏吗?如果可以,那下载就方便了。

  3. 如果中了炸弹,怎么解决?支招:没有什么是重装系统解决不了的,不行就重装两次。

  4. 如果避开ZIP炸弹?支招:解压的时候不要双击,右击看属性,压缩率0%的就不要解压了。

0
0
服务器硬盘和普通硬盘区别 服务器硬盘比普通硬盘贵在哪? 让电脑速度飞起来 5款各品牌240GB固态硬盘推荐 电脑装了固态硬盘还是慢怎么办 SSD速度慢的原因和解决办法 固态硬盘参数怎么看?一篇把SSD参数“写活了”的深度好文 硬盘缓存有什么用 机械硬盘和固态硬盘缓存作用详解 M.2固态硬盘无法识别?Bios开启CSM识别M.2固态硬盘方法
热门文章