博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
42.zip
阅读量:5096 次
发布时间:2019-06-13

本文共 742 字,大约阅读时间需要 2 分钟。

最近看linux的解压缩,无意间了解到了一个和压缩率相关的小故事——42.zip

一般我们使用压缩工具的时候,都会用到无损压缩技术,对于无损压缩,算法非常重要,不同的算法实现

的压缩率和速度有很大差别,主流的算法压缩率都在30%-40%之间,而这里要说的42.zip,它的压缩率可

以说是相当恐怖了,这里顺便贴上这个文件的下载地址:。

它的原始大小就和它的文件名一样:42kb,但是解压(解压密码是42)之后,大小足足有4.5PB,什么概念

呢,4.3G x 16的五次方:

首先,这个文件解压之后,会得到16个压缩文件,然后每个文件解压又会出现16个压缩文件,继续每个文件

解压又会得到16个压缩文件,循环5次,最终得到1048576个文件,每个最终文件大小为4.3GB。

惊喜不惊喜?刺激不刺激?其实还有比这更刺激的。

一个叫做droste.zip的大小为28kb的文件,一旦被打开之后,就会无限解压缩生成一份同样的文件,直到永远,

直到永远啊~~~~

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

一个文件的压缩率有极限么,是可以有的,可以有信息学之父克劳德·香农提出的信息熵函数算出来:

不过上述两个文件不适合套用该函数。

这种文件有什么存在的意义呢,意义在于这类文件的别名——ZIP炸弹。

这玩意儿除了会BOOM之外,其实是用来攻击别人的,一些病毒制作者,利用杀软扫描压缩文件内部的特性,

会将ZIP炸弹和病毒一起发到目标电脑上,趁着杀软扫描4.5PB的数据,病毒就可以乘虚而入了。不过现在很

多杀软已经有办法避开这类zip炸弹的佯攻了。

 

转载于:https://www.cnblogs.com/eco-just/p/9557970.html

你可能感兴趣的文章
php对nesc编译后的文件处理
查看>>
解决:Could not resolve archetype org.apache.maven.archetypes
查看>>
数据库 表字段添加表情
查看>>
普通平衡树(bzoj 3224)
查看>>
GitLab-CE-8.9.4 (OpenLogic CentOS 7.2)
查看>>
c#3.0新特性
查看>>
C语言-宏条件编译详解
查看>>
MP3结构与组成
查看>>
silverlight Command与behavior如何使用?
查看>>
javascript 简单实现对两个数组相似度的检验
查看>>
017. ADO.NET Connection和command及DataReader
查看>>
mysql导入导出.sql文件备份还原数据库[mysql导入导出sql命令行] .
查看>>
Rational Rose 2007 安装
查看>>
Coding配合git使用时遇到的问题
查看>>
java 字体+颜色综合使用示例
查看>>
ios开发之级联菜单(两个tableView实现)
查看>>
tft屏图像文字一起显示
查看>>
hdu 5144 NPY and shot
查看>>
Hive数据导入
查看>>
java 泛型
查看>>