4 从Hex转储导入
4.1 十六进制的转储文件
该选项可以导入ASCII 十六进制的转储文件,并且还可以将指定的数据写入到从转储文件读取到的数据中。
相关链接1 十六进制转储文件,该文件中保存的是计算机数据的十六进制格式。查看十六进制数据转储通常是作为调试或逆向工程的一部分完成的。在十六进制转储中,每个字节表示为两个十六进制数。
十六进制转储文件的内容如图4所示。
图4 十六进制转储文件
从图4中可以看到,每一行的最左侧是两个连在一起的字节,也就是四个十六进制数,表示距离基本地址的位移;位移之后是一个字节的数据,每个字节都用空格与其他字节分隔。
选择“从Hex转储导入”选项,会弹出如图5所示的对话框。
图5 “从Hex转储导入”对话框
从图5中可以看出,该对话框主要分为“导入来源”和“封装”两大部分。
4.2 “导入来源”部分
“导入来源”部分主要决定了导入的文件以及读取该文件数据的方法。
4.2.1 “文件”选项
该选项指定了导入的十六进制的转储文件,可以通过“浏览”按键进行选择。
4.2.2 “偏移量”选项
该选项决定了十六进制的转储文件中,偏移量用何种方式来表示。偏移量的表示方式一般都是十六进制,当十六进制的转储文件中的数据没有偏移量信息时,可以选择“无”。
4.2.3 “时间戳格式”
当十六进制的转储文件中的数据包含时间戳时,该选项指定了包含的时间戳的格式,以便能够将时间戳从数据中分离出来。
相关链接2 时间戳是使用数字签名技术产生的数据,主要目的是对数据产生的时间进行认证,验证这段数据在产生后是否被修改。
4.2.4 “方向指示”选项
当十六进制的转储文件中的数据包含方向指示信息时,选中该选项,以便能够将方向指示信息从数据中分离出来。
相关链接3 方向指示,即Direction Indicator,标明是输入数据还是输出数据。在每一个包数据帧前都会有单独的一行来表示输入数据或者输出数据,其中I或者i表示数据,O或者o表示输出数据。
4.3 “封装”部分
“封装”部分主要包括了封装类型、伪数据包头部以及最大帧长三部分。
4.3.1 封装类型
封装类型主要用于选择导入十六进制的转储文件中的数据包中数据的类型,如图6所示,在此选择的类型必须和数据包中真实的类型对应,否则Wireshark的解析器将无法正确解析数据包。
图6 选择数据包类型
4.3.2 伪数据包头部
可以通过该选项构造伪数据包头部的信息。例如,目前导入的十六进制的转储文件中的数据不含有UDP的源端口信息,可以通过如图7所示的选项向该数据包加入UDP的源端口信息。
图7 添加UDP源端口信息
在导入数据之后,就可以在数据中看到刚刚添加的UDP源端口信息了,如图8所示。
图8 构造伪数据包头部
4.3.3 最大帧长
最大帧长指定了从十六进制的转储文件中导入数据的最大值,默认值是256k个字节。