另外,由于PNG文件是按照BigEndian格式进行存储的,所以我们要在脚本的第一行加入:
BigEndian();
至此终于大功告成。将编写好的010脚本进行保存,打开一个PNG文件,然后运行该脚本。可以看到类似于图17.3.3的解析结果。
从图17.3.3中可以看到,该PNG文件包含了6个Chunk:IHDR、gAMA、cHRM、PLTE、IDAT和IEND。当然,根据PNG文件的不同,解析结果也不尽相同。但是在任何PNG文件中,IHDR、PLET、IDAT和IEND这4个Chunk是必不可少的。
下面我们来做一个有趣的实验。首先介绍一下实验环境,如表17-3-2所示。
表17-3-2 实验环境
计算机
VMware虚拟机或者实体机
操作系统
Windows XP Professional Server Pack 3
GdiPlus.dll版本
5.1.3102.5512
题外话:GdiPlus.dll是GDI图像设备接口图形界面的相关模块,属于Microsoft GDI+,它会在安装一些软件或补丁时出现,并且出现在与所安装软件相同分区下。所以gdiplus.dll不一定在C:\WINDOWS\system32目录里,在实验前您可能有必要搜索一下它的位置。
在之前的PNG解析结果中找到IHDR Chunk的length位置,也就是第9~12字节,通常情况下其值应该是13(0x0D)。现在我们把它改为0xFFFFFFF4,并将文件另存为poc.png。如图17.3.4所示。
本页地址 http://www.jybase.net/xitonganquan/20120115751.html
【百度搜索更多】
【谷歌搜索更多】
本文基于广大手机用户的需求,设计并研究了如下几个方面的功...
摘要 在网络信息化时代飞速发展的今天,随着网络黑客的数量和...
1引言 近几年发生的网络安全事件表明,网络内部安全 防护手段...
摘要:根据计算机应用与安全需求,介绍了在Windows操作系统下批...
Windows NT环境下,Win32子系统提供了一套Win32 API函数以满足用户层...
360 作为国内专业的安全公司,在安全界的水平是有目共睹的,我...