免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 浅谈文件类型漏洞挖掘与Smart Fuzz

浅谈文件类型漏洞挖掘与Smart Fuzz

时间:2012-01-15 18:27来源:未知 整理:寂涯网络 点击:

17.3.1  010 Editor简介

010 Editor是一款非常强大的文本/十六进制编辑器,除了文本/十六进制编辑外,还包括文件解析、计算器、文件比较等功能,但它真正的强大之处还在于文件的解析功能。我们可以使用010Editor官方网站提供的解析脚本(Binary Template)对avi、bmp、png、exe等简单格式的文件进行解析,当然也可以根据需求来自己编写文件解析脚本。

下面以PNG文件解析为例,介绍010 Editor的文件解析功能。首先从官方网站上下载和安装010 Editor(http://sweetscape.com/010editor),然后到文件解析脚本下载页面中下载PNGTemplate.bt。用010 Editor打开PNG文件,然后通过Templates -> Open Template菜单打开PNGTemplate.bt,按F5键运行该脚本,就可以在Template Results窗口中看到该PNG文件的解析结果。如图17.3.1所示。

 

17.3.2  010脚本编写入门

学过C/C++的您会发现010 Editor的文件解析脚本(即010脚本)看起来跟C/C++的结构体定义比较相似。然而文件解析脚本不是结构体,而是一个自上而下执行的程序,所以它可以使用if、for、while等语句。

在010脚本中,声明的每个变量都对应着文件的相应字节。比如以下声明:


  1. char header[4];  
  2. int numRecords; 

 

这意味着,文件的首4个字节将会映射到字符数组header中,下4个字节则会映射到整型变量numRecords中,并最终显示在解析结果中。

 

然而,在编写010脚本时可能会遇到这种情况:需要定义一些变量,但是这些变量并不对应着文件中的任何字节,而仅仅是程序运行中所需要的,这时可以使用local关键字来定义变量。比如以下声明:


  1. local int i, total = 0;  
  2. int recordCounts[5];  
  3. for(i=0; i < 5; i++)  
  4.        total += recordCounts[i];  
  5. double records[total];  

 

这样,i和total就不会映射到文件中去,也不会在解析结果中显示出来。

 

另外,在数据的定义中,可以加上一些附加属性,如格式、颜色、注释等。附加属性用尖括号<>括起来。常用的属性包括以下几种:


  1. <format

本页地址 http://www.jybase.net/xitonganquan/20120115751.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com