资料介绍
PNG是一种图像格式,始于1995年,作为一种颇受欢迎的图像格式,PNG至今仍十分盛行。一般而言,PNG以无损失压缩或处理透明像素的能力为人所知。然而,我并不想从泛泛的角度去看待不同的图像格式,而是尝着用不同的方式让它们发生故障,你有没有想过,PNG发生故障时是什么效果呢?
校验和(Checksum)
让我们首先来看看校验和(Checksum)系统中的CRC32算法。这一算法通常用于确认受损图像,当它侦测到图像文件受损时,不会在一般的图片阅读器上显现出来。因此,若想使PNG发生故障,用诸如文本编辑器或二进制编辑器重写部分二进制数据的简单方法是行不通的。换句话说,“黑掉”PNG之难,难于上青天。
因此,为了能顺利“黑掉”PNG,我们需要根据PNG的格式规范(PNG Specification)来做。这意味着,解码CRC32算法后要对数据进行重写和重新计算,并将其绑定到已经编辑的数据上。
状态(State)
接下来,我们看看PNG的转码过程。表1简要地显示了PNG编码流工作流程。包括四步:原始数据、过滤后数据、压缩后数据、格式化的PNG。
表1 PNG编码流
理论上来说,上述四个步骤都可以成为“下手”的目标。然而,从“原始数据”下手跟从BMP下手一样,技术上而言,并不能把它称之为“PNG故障”。而以最后一步“格式化的PNG”为目标也行不通,原因在于上文提到的校验和系统的工作原理,因此无法产生故障。
现在,能供我们下手的就只有“过滤后数据”或“压缩后数据”两个步骤,只要方法正确,就可以使PNG故障形成。当我攻击“过滤后数据”时,产生的效果非常明显,故障元素好像花瓣一样弥漫了整张图像,过滤器之间的差异在“过滤后数据”受到攻击时变得尤为明显。另一方面,“压缩后数据”故障受到了它们自身的压缩算法的影响(Deflate压缩),因此显示出了一种与雪花噪点类似的图片效果。
当然,在转码过程之外,也有其他的过程能影响PNG故障的图案,例如透明像素和interlace。
决定PNG故障图案最重要的决定因素是过滤的过程,这一过程通过某种算法将每一层扫描线的为压缩像素数据进行转换,从而提升压缩效率。过滤包括四种算法和五种过滤类型,分别为Sub、Up、Average、Paeth和None(None为无过滤)。PNG图像通常在使用最适当的过滤类型对每一层扫描线进行过滤后才开始压缩,因此,在PNG图像生成之后,五种压缩会合为一体。
这五种过滤通常只是促进压缩效率的提升,因此无论使用哪一层过滤,输出结果都一样。然而,当过滤后的数据受到损坏后,输出结果会显示出明显的差异。当一个图像经过优化,并同时具备上述五种过滤效果后,就很难辨别出不同的过滤效果。然而当同一个单一的过滤应用在每一条扫描线上,图像出现故障时,差异就很明显了。
下面我会展示每一种过滤的效果差异,当我们仔细留意不同的效果时,会发觉哪一种过滤会让PNG故障的部分产生哪种美丽的效果。是的,这些图像的确很美丽。
- FANUC系统共性故障排除及故障分析 4次下载
- 电气设备故障检测诊断方法及实例 0次下载
- 继电保护用开关电源的故障分析及措施综述 14次下载
- 常见电动机故障原因分析资料下载
- 实例:触摸屏故障的诊断处理方法资料下载
- 逻辑分析仪设计实例 53次下载
- 汽车防盗报警器常见故障原因分析 0次下载
- 汽车发动机回火放炮故障原因分析 0次下载
- 几款示波器常见故障分析与检修实例_上 23次下载
- 几款示波器常见故障分析与检修实例_下 12次下载
- 压缩机故障原因分析PDF 5次下载
- 微机保护装置逆变电源故障原因分析 20次下载
- 高线轧机故障诊断实例分析
- 碰摩故障诊断实例研究
- GSM交换故障实例
- 变频器缺相故障原因分析及维修方法 3203次阅读
- 电能质量分析仪的常见故障及原因分析 450次阅读
- 继电保护测试仪的常见故障及原因分析 621次阅读
- 钳形电流表的常见故障及原因分析 1925次阅读
- 矢量网络分析仪的常见故障和原因分析 835次阅读
- 示波器探头的常见故障和原因分析 535次阅读
- 功率分析仪的常见故障和原因分析 730次阅读
- 相位噪声分析仪的常见故障和原因分析 390次阅读
- 数控铣床主轴故障实例 4258次阅读
- 制冷系统的故障分析_制冷系统故障原因 3110次阅读
- 浅谈汽车常见的故障和形成原因 2486次阅读
- 燃气灶热电偶常见故障原因分析及处理办法(6种故障) 9.9w次阅读
- 电子电路常见故障现象原因分析 1.5w次阅读
- 软启动器常见故障原因分析及维修 6.1w次阅读
- 海信电视故障维修实例速查表 1.1w次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多