winhex数据恢复入门教程_第1页
winhex数据恢复入门教程_第2页
winhex数据恢复入门教程_第3页
winhex数据恢复入门教程_第4页
winhex数据恢复入门教程_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Winhex是X-Ways公司出品的一款十六进制编辑、磁盘编辑软件,其公司网站对其功能介绍如下:

*

可以对硬盘、软盘、CD-ROM、DVD、ZIP及各种存储卡进行编辑

*

支持FAT、NTFS、Ext2/3、ReiserFS、Reiser4、UFS、CDFS、UDF等文件系统

*

可支持重组RAID及动态磁盘

*

附带数据恢复功能

*

可以访问物理内存及虚拟内存

*

内置数据解释器,可以识别解释20种数据类型

*

可以用数据结构模板查看、编辑结构数据

*

可以分割与合并文件

*

可以对文件进行分析与对比

*

具有灵活的搜索和替换功能

*

可以对磁盘进行克隆

*

可对磁盘进行压缩镜像备份,支持对备份文件进行分卷处理

*

具有编程接口,支持脚本操作

*

支持256位加密、校验和、CRC32、hash(MD5,SHA-1)计算

*

支持对磁盘进行数据安全销毁

*

包含ANSIASCII,IBMASCII,EBCDIC,Unicode字符集

*

支持文件大小超过4GB4.2软件的获取与安装

读者可以在网络上搜索提供下载Winhex的网站,或直接到其公司网站下载试用版或购买正版。

Winhex的安装与普通软件安装没有区别,以在WindowsXP下为例,双击Setup.exe程序即可开始安装过程。如图4.1所示。

图4.1

程序默认的安装路径是C:\ProgramFiles\WinHex,当然也可以自行选择安装到其他位置。

可以选择语言种类,不过用以选择中文的Chinese按钮处于灰色不可选状态,应该是尚不支持中文。用户可以选择其它语言,默认语言是英文。

确定安装位置无误后,点击OK按钮,程序会弹出一个询问框,询问是否确定将程序安装到所选位置。如图4.2所示。

图4.2

如果要对安装位置重新选择,可以按“否”按钮回到原界面进行设置。否则按“是”按钮继续安装。

程序随即会弹出询问框询问是否要建立快捷方式。如图4.3所示。点击按钮“是”,程序安装完毕后会在“开始”→“所有程序”中添加程序启动快捷方式。

图4.3

最后,程序提示安装完毕,询问是否运行程序。如图4.4所示。

图4.4

点击“是”按钮,程序即开始运行。如果不想立即运行程序,可以点击“否”按钮,在使用程序时从开始菜单中启动程序。4.3软件使用

4.3.1启动软件

以Winhex15.1为例,第一次运行程序,程序会给出一个设置窗(如图5所示),有两个可选项:系。

图4.9

4.3.4界面布局

现在我们打开物理磁盘中的HD0,并以它为例对打开后的界面进行介绍。请看图4.10。

图4.10

1.菜单栏

菜单栏集合了程序提供的所有功能入口。

2.案件数据

主要用于取证,可以将一个磁盘装入到案件数据框中查看数据、进行取证记录等。这个功能在数据恢复中并不常用,可以通过勾选菜单栏中的View→Show→CaseData选项控制它的显示与否。如图4.11所示。

图4.11

3.目录浏览器

根据打开磁盘方式的不同,目录浏览器内显示的内容会有所不同:

*

打开物理磁盘时,如果有可识别的分区,目录浏览器中会显示各个分区的类型、大小及起始扇区等信息。

*

打开逻辑磁盘时,如果有可识别的文件系统,目录浏览器中会显示逻辑磁盘中的数据内容,显示效果与在“我的电脑”中打开一个分区后看到的内容相同。

是否显示目录浏览器可以通过View→Show→DirectoryBrowser控制。

4.数据解释器

数据解释器是一个浮动窗口,可以在屏幕窗口中任意拖拽到任何位置。是否显示数据解释器由View→Show→DataInterpreter控制。

当鼠标指针位于十六进制区或文本字符区时,数据解释器可以很方便地将鼠标指针当前所处位置的字节(或字符区的字符在十六进制区的对应字节)及向后若干个字节的十六进制数解释成十进制数、八进制数或同步显示十六进制数。可以在数据解释器窗口中右击,在弹出的快捷菜单中进行相应的设置。快捷菜单如图4.12所示。

图4.12

(1)Options:点击该选项(或在数据解释器窗口左半部分双击)会弹出数据解释设置框(如图4.13所示),可以在设置框中通过多选形式设置要在数据解释器中显示的内容、性质及类型。默认情况下数据解释器将十六进制解释为十进制,如勾选“8bit,signed”会在数据解释器中显示指针所处位置的这一个字节的十进制值,“signed”表示有符号,即数值有正负之分。如果选择了“8bit,unsigned”,数据解释器会将指针当前所在位置的字节解释成无符号的数值,即只将其当做正数。

数据解释设置框中还可以设置数据解释的精度,设置解释成各种时间值,设置按Big-Endian顺序解释多字节数值(默认以Little-Endian解释多字节数值)等。

图4.13

(2)BigEndian:点击该选项会在其前面显示对勾,表示以BigEndian顺序解释多字节数值(同样的设置功能在数据解释设置框中也有,直接将其放入快捷菜单中是为了便于使用)。在选项被勾选的情况下再次点击它,就会重新回到LittleEndian解释状态。

(3)Hexadecimal:点击该选项会在其前面显示对勾,表示将数值显示为十六进制(默认解释为十进制)。再次点击它,就会回到解释为十进制状态。

(4)Octal:解释为八进制,该选项的使用方法与前两个选项相同。

5.工具栏

工具栏集合了一些常用功能的快捷图标。是否显示工具栏可以通过View→Show→Toolbar控制。随后我们会对工具栏进行专门的详细介绍。

6.对象卡

对象卡用于标识当前打开的对象窗口。是否显示对象卡可以通过是否勾选View→Show→TabControl控制。在对象卡上右击会弹出关闭窗口快捷菜单,可通过该菜单关闭当前选项卡标识的对象窗口。

7.详细面板

详细面板用以显示当前活动窗口对象的详细信息,是否显示详细面板可以通过是否勾选View→Show→DetailsPanel控制。

根据打开对象的不同,详细面板显示的内容会有所不同。

打开一个物理磁盘时,详细面板会显示该物理磁盘的型号(Model)、序列号(SerialNo)、固件版本(FirmwareRev)、当前编辑模式、当前状态(磁盘内容是否经过修改)、总容量、每扇区字节数、当前位置所属分区号、在分区中的扇区号、当前指针所在区域(十六进制区/文本区)、字符集、偏移坐标表示形式等一系列信息。

打开一个逻辑磁盘时,详细面板会显示该逻辑分区在物理磁盘上的分区号、空闲百分比、文件系统类型、编辑模式、状态、当前簇号、当前扇区所属文件、当前扇区物理扇区号、当前扇区逻辑扇区号、分区已用空间、分区空闲空间、总容量、每簇扇区数、空闲簇数、总簇数、每扇区字节数等信息。

8.偏移纵坐标

与偏移横坐标配合,唯一地标识十六进制区域中每个字节的偏移地址。在偏移纵坐标区内单击,可以使偏移坐标的表示形式在十进制和十六进制间进行转换。

9.偏移横坐标

与偏移纵坐标配合,唯一地标识十六进制区域中每个字节的偏移地址。

10.十六进制区

以十六进制形式表示磁盘上的存储内容,是主要的工作区域。

11.文本字符区

根据选择的字符集,以文本字符形式显示磁盘上的内容。

12.当前扇区号/总扇区数

显示当前光标所在的的扇区号以及整个磁盘的总扇区数。在该区域单击会弹出“转到扇区”对话框。在该区域右击则会弹出拷贝当前扇区号或总扇区数快捷菜单。如图4.14所示。

图4.14

13.光标当前位置偏移值及当前字节十进制值

标明光标当前位置的偏移值以及由当前字节开始的若干个字节的十进制值。

(1)在偏移值部分单击会弹出转到偏移量对话框;在偏移值部分右击会弹出一个快捷菜单,如图4.15所示。

图4.15

右键快捷菜单中,提供了拷贝光标当前位置偏移量的十进制值和十六进制值的菜单项,还提供了一个相对记录偏移菜单项Relativerecordoffsets,点击该菜单项会弹出设置对话框,如图4.16所示。

图4.16

*

Applydifferentbackgroundcolor:使用不同的背景颜色。勾选该项后,程序会按下面Fistrecordatoffset框中设置的起始偏移位置和Recordsizeinbytes框中设置的间隔记录大小字节数对显示内容使用不同的背景颜色,以便于用户区分。

*

Relativerecordoffsets:使用相对记录偏移。勾选该项后,程序会以下面Fistrecordatoffset框中设置的起始偏移位置为相对偏移0,该偏移0后的字节偏移都以该偏移0位置为基准。

*

Fistrecordatoffset:起始偏移位置,十六进制。根据勾选项的不同,做为使用不同背景颜色的起始偏移,或做为相对偏移0的位置。

*

Recordsizeinbytes:记录大小,十进制。勾选了使用不同背景颜色项后,每隔这个“记录大小”的字节数,交替更换一次背景颜色。

(2)在“光标当前位置字节值(十进制)”区域单击,会弹出十进制解释器设置框,如图4.17所示。

图4.17

十进制解释器设置框用于设置将光标当前所在位置开始的几个字节解释为十进制数值,以及将其做为有符号还是无符号数值进行解释。例如,设置为8bit,unsigned将光标当前所在位置的这一个字节当做无符号数解释为十进制。如果设置为32bit,unsined,则将光标当前所在位置开始的4个字节做为无符号数解释为十进制值。

我们进行如下设置:

*

以偏移0x21字节处为相对偏移0,同时它也做为使用不同背景颜色的起始处,每隔32个字节更换背景颜色;

*

在十进制解释器中选择“32bit,unsigned”。

图4.18为设置后的界面结果,我们可以看到虽然实际上光标的位置并没有移动,但“光标所在位置偏移量”处的值发生了变化,因为现在以0x21字节处为相对偏移0,光标现在恰好处于这个位置,所以它的偏移位置为0。

同样,“光标当前位置字节值(十进制)”处的值也发生了变化,因为原来解释器解释的是1个字节,现在解释的是4个字节。

图4.18

另外,当设置了使用相对记录偏移后,在偏移值区域右击时弹出的快捷菜单中将增加一个“Absoluteoffsets”菜单项(见图4.19),它用于快速将“使用相对记录偏移”重新设置为“使用比对偏移”,即以磁盘的偏移0为偏移基准。

图4.19

还有一点,选择了使用相对记录偏移后,“当前扇区/总扇区数”部分将变成“当前记录号/总记录数”,单击该区域时也会相应弹出“转到记录”对话框。如图4.20所示。

图4.20

14.当前选块起/止偏移值及选块大小字节

如果选择了选块,会在这个位置显示选块的范围及选块的大小字节数。如图4.21所示,选块起始于偏移0x21,结束于0x30,所以选块范围显示是“21-30”;共0x10个字节,所以选块大小字节数部分显示“10”。

图4.21

在“当前选块起/止偏移值及选块大小字节”区域内单击,会弹出定义选块对话框,如图4.22所示。

图4.22

(1)Beginning:选块开始偏移。可以直接输入偏移值,也可以在后面的选项框中选择一个选项对应的对象做为选块起始位置,如图4.23所示。

*

Currentposition:光标当前位置。

*

Beginningoffile:文件或磁盘的起始0字节处。

*

Middleoffile:文件或磁盘的中部。

*

Endoffile:文件或磁盘的尾部。

*

Beginningofblock:选块起始处。如果当前有选块被选中,则将选块的起始处做为新选块的起始。

*

Endofblock:选块结尾处。如果当前有选块被选中,则将选块的结尾处做为新选块的起始。

图4.23

(2)End:选块结束偏移。可以直接输入偏移值,也可以在后面的选项框中选择一个选项对应的对象做为选块结束位置,其选项内容与选项含义与定义选块起始位置相同。4.3.5工具栏详解1.:新建文件

用于新建一个RAW文件(也可以通过菜单File→New或快捷键Ctrl+N实现同样的功能)。点击该图标会弹出创建新文件对话框,如图4.24所示。可以通过在对话框中输入数值并选择单位(Bytes/KB/MB/GB)来创建一个新的文件。新建的文件会被程序直接打开,在对其进行保存前只存在于内存中。注意不要创建太大的文件,否则可能会造成资源耗尽。

图4.24

2.:打开文件

“打开文件”的菜单功能位于File→Open,快捷键Ctrl+O。用于打开一个已经存在的文件,Winhex程序打开文件时不关心它的文件类型,只是以十六进制形式打开它。

3.:保存

新建了一个文件,或对一个已经存在的文件或磁盘内容进行修改后,该按钮将处于活动状态,用于对未保存的内容进行保存。

4.:打印

用于发送打印指令。

5.:文件属性

用于对一个文件的大小、时间信息等进行编辑,如图4.25所示。编辑完成后按回车键,程序将提示编辑结果立即生效,如图4.26所示。

图4.25

图4.26

.6.:打开文件夹

用于同时打开一个文件夹下的多个文件。点击后弹出图4.27所示的文件夹选择窗口。

图4.27

*

掩码:可以打开文件夹下的所有文件,也可以通过设置掩码打开某种指定的文件,例如设置掩码为“*.doc”打开所有的Word文档。

*

打开方式:打开文件的方式,包括只读方式及可修改方式。

*

Mustcontainspecifiedtest:包含指定的文本。点击后弹出查找文本对话框(对话框设置见后面的“文本搜索”),可以在对话框中输入文件中需要包含的文本。不过,Winhex对中文的搜索支持不好。

*

Mustcontainspecifiedhexvalues:包含指定的十六进制值。点击后弹出十六进制搜索对话框(对话框设置见后面的“十六进制搜索”),可以在对话框中输入需要包含在文件中的十六进制值。

*

Includesubfoders:包括子文件夹。勾选该项后,不只打开当前文件夹下的文件,还会打开当前文件夹下的子文件夹。

7

:撤销

用以撤销刚进行的操作。比如对某个字节进行了修改后,想撤销修改,可以点击该按钮。

8.:复制选块

用以将选中的选块复制到剪贴板。该功能并不是太方便,我们将在后面介绍更为实用和方便的右键快捷菜单。

9.:写入选块

将剪贴板中的内容从指定当前所在位置写入。同样,我们建议使用后面介绍到的右键快捷菜单中的相同功能。

10.:转换文件

只对打开的文件有效。点击后弹出转换选择框,如图4.28所示,可以在转换选择框中选择需要进行的转换。

图4.28

11.:修改数据

用于对选块选或文件数据进行各种处理,可以用来对数据进行简单的加密。点击该按钮后将弹出修改数据设置框,如图4.29所示。

图4.29

*

Add:将选块中的数值与Add后输入框中的值相加。

²

通过是否勾选后面的“hexadec”控制设定输入框中的值是十进制还是十六进制。

²

点击Integertype后的按钮,可以弹出整数类型选择框(如图4.30所示),用于设定选块或文件中数据的单位长度,假设有一个数值0x940239F1C2040001,以Little-endian顺序存储在磁盘上为“010004C2F1390294”加“1”为例,如果选择“8bit,signed”表示将“010004C2F1390294”的每个字节做为一个单位长度,即每个字节加“1”,变成“020105C3F23A0395”;如果选择“16bit,singned”则将“010004C2F1390294”的每两个字节做为一个单位长度,将每个单位长度的数值加“1”,即将原数据分解成“0100”、“04C2”、“F139”、“0294”后对每个数值进行加“1”处理,因为是Little-endian存储顺序,所以每个单位的数值分别变为“0200”、“05C2”、“F239”和“0394”,即原数值在磁盘上的存储形式变为“020005C2F2390394”。

图30

²

Excessofintegertyperange部分用于设置当相加后的结果超出Integertype中设定的整数类型能够表示的数值大小范围时如何处理。以在integertype中选择了“8bit,unsigned”为例(可表示的数值范围是0~255),将0xFE(十进制为254)加“2”,由于254+2=256,超出了8bit可表示的最大值范围,如果选择“No,uselimitasnewvalue”,即不允许超出,而是将可表示的最大值做为结果,则计算结果为0xFF;如果选择了“Allowed”,则计算方式是将超出了最大表示范围的结果值减去可表示的最大值,即256-255=1,结果为1。同样,如果计算结果小于0时,选择“No,uselimitasnewvalue”则将0做为结果;选择“Allowed”将计算后小于0的结果加上可以表示的最大值。

²

如果要将通过Add处理后的结果回复原状态,使用同样的设置减去原来加上的值即可。

*

16-bitbyteswap:以16个bit为单位,将每个单位中的前后两个字节交换位置。假如有一个数值在磁盘上的存储形式为“01020304”,处理时将其分解为“0102”和“0304”,然后将每个单位中的两个字节交换位置,即分别变为“0201”和“0403”,再组合到一起成为“02010403”。

*

32-bitbyteswap:以32个bit为单位,将每个单位中的4个字节前后顺序交换。

*

Leftshiftby1bit:左移一位,将每个字节左移一位。例如,如果某个字节的值为0x04,换算成二进制后是00000100,左移一位后变成00001000,即0x08。

*

Rightshiftby1bit:右移一位,将每个字节右移一位。例如,将0x04右移一位变成0x02。

*

Shitfby…byte(s):将选块内容向左或向右移动若干个字节,负数为向左,正数为向右。实际结果是将当前选块复制后从向左或向右后的若干个字节位置写入。

*

Circularleftrotation:左移本身个字节。例如,数值本身为4,则左称4个字节;数值本身为5,则左移5个字节。

*

Invertbits:反转。用0xFF减去每个字节的当前值,将结果做为当前字节的新值。例如,当前字节为0x02,反转后的值是0xFF-0x02=0xFD。

*

XOR:异或运算。将每个字节的当前值与设定的值进行异或,结果做为当前字节的新值。

*

OR:或运算。将每个字节的当前值与设定的值进行或运算,结果做为当前字节的新值。

*

AND:与运算。将每个字节的当前值与设定的值进行与运算,结果做为当前字节的新值。

*

ROT13:字母置换。ROT13将26个英文字母分为两组,每组13个,然后将两组字母按先后顺序一一对应,置换时按这个对应关系进行置换。如图4.31所示。

图4.31

12.:查找文本

用于查找文本字符(对汉字搜索支持不好)。点击后弹出查找文本对话框,如图4.32所示。

图4.32

*

Matchcase:区分大小写。勾选该项后,搜索中将完全匹配字母的大小写,默认是忽略大小写。例如,要搜索“Test”,但输入的是“test”,如果不勾选区分大小写选项,程序可以搜索到;如果勾选了区分大小写,则程序只严格搜索“test”,大小写不一致的将不会被做为结果目标。

*

编码选择:设置搜索ASCII码/Unicode码。

*

Usethisasawildcard:设置通配符。例如,要搜索所有后三个字母为“est”、由4个字母组成的单词,可以勾选该选项并设定一个通配符,同时配合勾选下面的Wholewordsonly(全字符匹配)进行搜索。例如可以使用“?”做为通配符,搜索“?est”。

*

Wholewordsonly:全字符匹配,即搜索目标和结果需要整个单词完全匹配。

*

搜索方向:用于设置在整个磁盘或文件范围内进行搜索,还是由当前位置开始向上或向下搜索。

*

偏移设置:设定符合要求的目标位置,用以减少干扰信息。例如要搜索位于每个扇区偏移96字节处的某字符,可以设置为MOD512=96,即只有偏移位置除以每扇区字节数512余数为96字节的位置才符合要求。这些位置的偏移可能会是0+96、512+96、1024+96等等,其他位置的相同字符将不在搜索结果内。

*

Searchinblockonly:只在选块内搜索。如果确定搜索目标就在某个范围内,可以选中该选块,这时Searchinblockonly选项将变成可选状态,勾选后即可实现只在设定的范围内搜索目标。

*

Searchinallopenwindows:在所有打开的窗口中搜索。如果打开个一个以上的对象,则该选项处于可选状态,勾选后程序会在所有打开的窗口中搜索目标。

*

Listsearchhits,upto:将搜索结果列表显示,可以设定显示的搜索结果数量。

13.:查找十六进制值

用于查找指定的十六进制值。点击后弹出查找十六进制对话框,如图4.33所示。

图4.33

相找十六进制对话框内的设置与查找文本对话框基本相同,不同的只是输入搜索的内容为十六进制值,而不再是文本。另外就是通配符要使用一个十六进制值,而不能使用文本。

14.:替换文本

用于搜索指定的文本内容,并将其替换为设定的文本。如果点击该按钮后弹出图4.34所示的“Onlyavailablein-placeeditmode”提示框,说明当前操作对象要求程序处于in-place模式才可以运行。这时,可以点击菜单Options→EditMode(如图4.35所示),在弹出的模式选择框中选择“In-placeMode(=editable)”选项(如图4.36所示)。

图4.34

图4.35

图4.36

点击替换文本按钮后会弹出替换文本对话框,如图4.37所示。

图4.37

*

Searchfor:搜索目标,也是将要被替换的文本,如“test”。

*

Replacewith:做为替换结果的新文本,如“1111”。

*

Promptwhenfound:搜索到目标后提示是否进行替换。选中该项后,程序搜索到符合被替换文本要求的目标时会弹出提示框,询问是否要对当前偏移位置的内容进行替换,按“Yes”按钮进行替换,按“No”不对当前位置的目标进行替换,继续搜索下一个位置的目标。如图4.38所示。

图4.38

*

Peplacealloccurrences:不提示,直接替换所有搜索到的符合替换要求的目标。

15.

:替换十六进制值

用法与替换文本相同,只是该功能用于搜索和替换十六进制值。

16.:同时搜索文本

用于同时搜索两个以上文本对象。Winhex可以设置同时搜索两个以上文本对象,这在有多个对象需要搜索时非常有益。对于相互间没有关联的若干个文本对象,可以在一次搜索过程中完成对它们的搜索;对于某个搜索对象,如果由两个以上文本对其进行限定,使用“同时搜索”功能就可以大大增加搜索的精确度。

大多数选项与前面介绍的其他搜索设置相同,我们只介绍几个该搜索功能特有的选项,如图4.39所示。

图4.39

*

搜索内容框:搜索内容框用于输入要搜索的目标文本,每个目标文本占用一行。

*

保存文件:可以将输入搜索内容框中的搜索内容保存成一个文件,以便于以后搜索相同(或包含部分相同内容)时减少输入量。

*

打开文件:打开一个以前保存过的搜索内容文件。

*

搜索方式:有两个单选项――逻辑搜索和物理搜索。只有打开磁盘时才会出现“搜索方式”选择项,如果目前打开的只是一个文件,则不会出现该选择项。

*

Logical(file-wise):逻辑搜索。逻辑搜索是指按逻辑存储在文件中进行遍历搜索。

*

Physical(sector-wise):物理搜索。物理搜索即不考虑逻辑存储关系,针对物理扇区进行搜索。

17.

:转到某偏移量

用于将光标跳转到某偏移量位置。点击后弹出跳转到偏移量对话框,如图4.40所示。

图4.40

*

Newposition:新位置,即要跳过的数量(单位以输入框后的单位设置按钮显示的单位为准)。输入的数值可以是十进制也可以是十六进制,这取决于偏移量坐标的表示形式――如果偏移量坐标是十进制,则此处输入的是十进制;如果偏移量坐标是十六进制,则此处输入的是十六进制。

*

单位设置按钮:位于跳转数量输入框后面,每按一次,跳转单位在扇区(Sectors)、字节(Bytes)、字(Words)、双字(Dwords)之间循环变化。

*

Beginning:从当前对象窗口的偏移0处向偏移量较大方向跳转。

*

Currentposition:从光标所在的当前位置向偏移量较大的方向跳转。

*

Currentposition(backfrom):从光标所在的当前位置向偏移量较小的方向跳转。

*

End(backfrom):从当前对象窗口的最大偏移量处向偏移量较小方向跳转。

18.:转到某扇区

跳转到某个指定的扇区。根据打开的对象不同,界面输入框也略有不同――如果打开的是物理磁盘,则只可以输入扇区号(或输入三维在址号);如果打开的是一个可支持的逻辑磁盘,则既可以输入扇区号,也可以输入簇号(Cluster,簇号将在文件系统部分介绍)。如图4.41所示。

图4.41

19.:到上一个位置

回到前一个采样位置。

20.:到下一个位置

回到下一个采样位置。

21.:打开磁盘

打开一个物理或逻辑磁盘。

22.:克隆磁盘

用于无压缩的扇区级磁盘克隆,将在后面进行详细介绍。

23.:打开内存

Winhex支持直接对内存进行编辑,点击后将弹出编辑内存选择框,可以在选择框中选择要进行编辑的内存。如图4.44所示。

图4.44

24.:计算器

调用计算器。

25.

:磁盘或选块分析

用于计算被分析对象中各个值出现的次数及占用的百分比等。

26.:常规设置

用于设置程序的一些常规属性,将在后面专门进行介绍。

27.:减少一列

每点击一次就会将界面中十六进制窗口显示的列数减少一列。

28.:增加一列

每点击一次就会将界面中十六进制窗口显示的列增加一列。

29.

:重新获取卷快照

Winhex可以对卷进行快照,即记录卷中的管理信息。当卷发生改变后可以点击该按钮重新获取卷的快照。

30.

:目录浏览器设置

用于设置目录浏览器的一些属性。

31.:帮助

用于调用帮助文件。4.3.6常规设置

常规设置用于对Winhex程序中的一些常规属性进行设置,如程序启动反应、可运行程序数量、是否更新文件时间等。

点击工具栏的常规设置按钮,或选择菜单项Otions→General,或者按快捷键F5都可以调出常规设置对话框,如图4.45所示。

图4.45

1.ShowStartCenteratstartup

该条有两种选项,用鼠标点击时会在ShowStartCenteratstartup和Restorelastwindowarrangement间进行转换。

u

ShowStartCenteratstartup:启动程序时显示启动中心。选中该项后,程序启动时会首先显示一个启动中心窗口,如图4.46所示。

图4.46

²

打开文件按钮OpenFlie:用于打开一个文件。

²

打开磁盘按钮OpenDisk:用于打开一个磁盘。

²

打开内存按钮OpenRAM:用于打开内存。

²

打开文件夹按钮OpenFoldder:用于打开一个文件夹。

²

最近打开的对象列表:用于显示最近打开过的对象,列表中可显示的最多数量由设置对话框中第二行的项决定,用户可以自行设定可显示的对象最多数量。

²

脚本列表:显示可用的脚本,属于高级功能,用户可以自行编写脚本,以实现更为强大而细腻的功能。脚本编写完毕并放入相应的目录后,将会在该列表中显示。

u

RestorelastWindowarrangement:选中该项后,如果在关闭Winhex程序前没有将打开状态下的磁盘、文件或其他对象窗口关闭,重新运行Winhex程序时会自动打开这些对象,并保持上次关闭时该对象的状态。

2.ItemsinWindowscontextmenu

在Windows上下文菜单中显示菜单条目。勾选该项后,将会在Windows中右击一个文件夹或文件时分别显示OpenFolderinWinHex或OpeninWinHex。如图4.47、图4.48所示。

图4.47

图4.48

3.Allowmultipleprograminstances

允许多个程序实例。如果不勾选该项,在同一时刻只能运行一个Winhex程序。勾选该项后,可以同时运行多个Winhex程序。这个功能非常实用,假如用户正在用一个Winhex程序进行搜索或恢复数据,可以同时打开另一个Winhex程序对某个磁盘或文件进行分析。

4.Donotupdatefiletime

禁止更新文件时间。如果勾选了该项,在Winhex中对某个文件进行修改并保存后,文件的最后修改时间将保持上次修改时的时间值。如果不勾选该项,时间值将会修改为当前时间值。如图4.49所示,勾选该项后,对U.nrg文件进行修改并保存后,时间值仍然保持上次的修改时间值2009年12月1日;而不勾选该项再次对u.nrg文件修改并保存后,它的修改时间被设置为当前时间2009年12月25日。

图4.49

5.Opendatawindowsmaximized

打开数据窗口时最大化。勾选后,打开一个对象时,该对象窗口将最大化显示。

6.WinHexcontextmenu

WinHex上下文菜单。勾选后,在打开的对象窗口中右击,会弹出右键快捷菜单,可以利用该菜单设定选块的起始结束位置、调出下一级编辑菜单等。如图4.50所示。

图4.50

7.Showfilejcons

显示文件图标。如果勾选了该项,打开某个文件时,Winhex会在详细面板中显示该类文件的图标。

8.Numberpartitionsbydisklocation

根据物理位置列出分区及对分区进行编号。勾选该项后,在打开一个物理磁盘时,如果该磁盘上存在分区,程序会按每个分区在磁盘上的物理前后位置显示它们并为它们编号,而不是用为它们分配的盘符顺序排列。如图4.51所示。

图4.51

9.Auto-detectdeletedpqrtitions

自动检测被删除的分区。勾选后,打开一个物理磁盘时,程序会自动检测磁盘中被删除的分区。我们将一个磁盘的第三个分区删除(如图4.52所示),用Winhex打开物理磁盘后,Winhex可以自动识别到它,并将其标记为“lost”。如图4.53所示。

图4.52

图4.53

10.Sectorreadingcache

将读取的扇区保存在缓存中。该选项对于在Winhex窗口上下拉动查看光盘或软盘内容时很有用,如果每次拉动查看都去直接读取光盘或软盘,由于它们的访问速度有限,会造成反应迟缓。

11.Checkforsuplussectors

检查剩余扇区,勾选该项可能会导致打开磁盘时延时较长。

12.Aternativediskaccessmethod

设置硬盘的访问方式,可以设定可读取非标准硬盘以及遇到坏扇区时的读取超时毫秒数。

13.Substitutepattemforunreadablesectors

当某扇区无法正确读取时,用该框中预先设置的内容对其进行填充,默认是“UNREADABLESECTOR”,即“无法读取的扇区”。

14.Folderfortemporaryfiles

临时文件目录,默认为“C:\DocumentsandSettings\“用户名”\LocalSettings\Temp”,可以自行修改至其它位置。

15.Folderforimagesandbackupfiles

镜象及备份文件存放路径,默认为“C:\DocumentsandSettings\“用户名”\LocalSettings\Temp”,可以自行修改至其它位置。

16.Folderforcasesandprojects

案件及方案存放路径,默认位于程序安装目录内,可自行设置到其他位置。

17.Folderforscripts

脚本存放路径,默认位于程序安装目录内,可自行设置到其他位置。

18.Gallery:Showpicturesinarchives

在文档中显示图片。根据版本的不同,该功能可能会有所不同。

19.Showvideopreviewpictures

显示图片预览。根据版本的不同,该功能可能会有所不同。

20.Windows-styledprogressbar

Windows样式进度条。用以设置进度条的样式,勾选后会使用Windows样式。

21.Displaytimezone

时区设置。点击后会弹出时区设置选择框(见图4.54),可以在选择框中选择适当的时区。

图4.54

22.Generate0x..withEnter

如果勾选了该项并在设置框中设置了某十六进制数值,那么当按下回车键时,程序会由当前光标所在位置写入设置框中所设置的内容。

23.GenerateTabsbwithTabkey

不勾选该项,Tab键用于使光标在十六进制区和文本区进行跳转;勾选该项后按Tab键将会在光标当前位置写“09”。

24.<0x20substitutecharacter

小于0x20的非打印字符可以替换成用户自行指定的字符。

25.Displaybytesastestonebyone

将每个字节看做一个文本字符。这个选项是否勾选对文本区的内容显示有很大的影响,通常应该不勾选该项,这样Winhex就会尝试将字节组合起来形成一个可识别的文本字符。如图4.55所示,不勾选该选项和勾选该选项有时会有很大的区别,尤其是中文字符的显示。上方是未勾选的结果,下方是勾选后的结果。

图4.55

26.Hexadecimaloffsets

用十六进制表示偏移量。勾选该项后,偏移量横、纵坐标使用十六进制值表示;否则使用十进制值表示。

27.VirtualaddressesinRAMeditor

编辑内存时使用基于0x00的虚拟地址,而不是被编辑对象在内存中的实际地址。

28.Displaypageseparators

控制是否对磁盘或文件页面进行每512字节间隔。

29....bytesperline

界面中每行显示的字节数,默认为16个字节。

30....bytegroups

每组字节数,默认为8个字节一组,分为左右两组。

31....unitstoscrollonawheelroll

鼠标滚轮每滚动一个齿格使界面内容上下移动的行数。

32.Dialogwindowstyle

按下键头按钮控制当前设置框窗口的外观样式。

33.MFTFILErecordautocoloring

给NTFS文件系统的MFT记录加上颜色,以突出显示,便于区分。

34.Blockbackgrorndcolor

选块背景颜色。

35.Recordbackgrndcolor

记录背景颜色。

36.Annotationcolor

标签颜色。

37.Hilitemodifiedbytes

醒目显示修改过的内容。

38.Font

字体。

4。.3。7重新获取卷快照

卷快照是文件系统分区在某个时刻的目录数据库,如果文件系统分区的内容发生了改变,就需要重新获取其快照。点击工具栏的按钮或选择菜单Specialist→RefineVolumeSnapshot即可弹出重新获取卷快照对话框,如图4.56所示。

图4.56

1.TakeNewone

重建快照。勾选该项后会获取并重新建立一个快照。

2.Particularlythoroughfiledatastructuresearch

搜索文件系统。勾选该项后会在重建快照的过程中搜索分区中未被元数据描述的数据。

3.Fileheadersignaturesearch

搜索特定的文件头。勾选该项并在弹出的文件类型选择框中选择要搜索的文件头后,重建快照的过程中会搜索该文件类型。

4.Computehash

计算hash值。勾选该项并在弹出的校验方式选择框中选择好校验方式后,在重建快照的过程中会同时计算并生成hash值。

4.3.8目录浏览器设置

目录浏览器设置用于设置目录浏览器的一些功能属性。点击工具栏的按钮或选择菜单Options→DirectoryBrowser..即可调出目录浏览器设置框,如图4.57所示。

图4.57

在此我们只介绍几个常用的选项。

1.Groupfilesanddirectories

分组显示文件和目录。我勾选该项后目录浏览器中的内容将会按文件和目录进行分组显示。

2.Groupexistinganddeleteditems

分组显示存在和已删除的条目。勾选该项后,目录浏览器会将内容分为正常与已删除两组进行显示。

3.WithCtrl+Ainclude“x”filesalso

勾选该项后,使用Ctrl+A对目录浏览器中的内容进行全选时会包括标识为“X”的内容(即已删除的内容)。如果不勾选该项,则按下Ctrl+A时只选中正常存在的内容。

4.Listpreviouslyex.items

列出曾经存在过的条目。勾选该项后,已被删除内容的条目将会显示在目录浏览器中。如果不勾选该项,则只显示正常存在的内容。

4.3.9克隆磁盘

Winhex提供了克隆磁盘的功能,并单独提供了一个克隆磁盘菜单命令,不仅可以将磁盘克隆至磁盘、将磁盘克隆为文件,还可以将镜像文件回写至磁盘。

克隆功能与后面将要介绍的Winhex镜象制作功能不同的是克隆功能不提供压缩选择,也就是完全按照1:1的比例进行克隆。

步骤1:如图4.58所示选择Tools→DiskTools→CloneDisk菜单命令,即弹出如图4.59所示的克隆磁盘对话框。

图4.58

图4.59

步骤2:在克隆磁盘对话框中,可以进行相应的克隆设置。下面我们按图()所标注的标号进行解释。

(1)

来源设置

单击磁盘选择按钮,将弹出如图4.60所示的来源磁盘选择对话框,上半部分的LogicalDriveLetters中显示的是各个逻辑分区;下半部分的PhysicalMedia为物理磁盘。既可以在对话框中选择逻辑分区作为克隆操作的来源磁盘,也可以选择一个物理磁盘作为克隆操作的来源磁盘。双击要选择的磁盘或单击该磁盘后单击OK按钮,即可选中。

单击文件选择按钮将弹出文件路径选择对话框,可以选择一个已经存在的镜像文件作为镜像至磁盘的来源。

(2)

目标设置

单击磁盘按钮将弹出目标磁盘选择对话框,目标磁盘可以是一个逻辑分区,也可以是一个物理磁盘。

单击文件保存按钮将弹出文件保存路径选择对话框。只有当来源为磁盘时,才可以进行保存镜像文件操作。如果在来源中选择了一个镜像文件,目标仍然选择文件时,克隆对话框中的OK按钮将显示为灰色不可操作状态。

图4.60

(3)

克隆整个磁盘选项

默认情况下该选项将会被勾选,在勾选状态下,根据来源与目标的选择情况不同,标注号4、5、6位置有可能处于灰色不可操作状态。

(4)

克隆来源起始扇区号

在未勾选“克隆整个磁盘”选项的情况下,可以设置来源磁盘或文件的起始扇区号,镜像将从该扇区位置向后进行。

(5)

目标磁盘起始扇区号

如果目标为磁盘,则可以在此处设置从磁盘的哪个扇区开始写入。

(6)

克隆扇区数量

可以在此处设定要克隆的扇区数。

(7)

日志

用于记录克隆结果,例如克隆扇区数、是否有无法读取的坏扇区及坏扇区的数量等。

(8)

遇到坏扇区时跳过的扇区数

如果勾选了此项,克隆过程中遇到无法读取的坏扇区时,程序将会跳过设定的扇区数量后继续进行克隆。

(9)

为损坏的扇区写入标记

如果勾选了此项,在读取来源磁盘时如果遇到无法读取的坏扇区,则会在目标盘的相应扇区中写入该标记。

(10)

同时进行输入输出操作

如果来源磁盘和目标磁盘为不同的物理磁盘时,勾选此项可以提高克隆的速度。

了解了各个选项的含义后,我们来看一下使用默认参数将TF卡镜像成文件的设置界面内容,如图4.61所示。

图4.61

步骤3:确认无误后,单击OK按钮,即开始镜像,如图4.62所示。

图4.62

步骤4:镜像完毕后,将会给出提示并以文件形式给出克隆结果。4.3.10创建磁盘镜象

除了克隆功能菜单,Winhex还提供了制作磁盘镜象的功能菜单,用以将磁盘保存为可压缩的镜象文件(是否压缩可自行决定)。

在打开一个磁盘后,选择菜单File→CreateDiskImage,即可弹出建立磁盘镜象对话框,如图4.63所示。

图4.63

1.Imagefileformat

镜象文件格式。可以选择制作成后缀名为.dd、.001、.img的Raw格式,也可以制作为以.whx为后缀的Winhex备份文件。

如果选择了第一项的Rawimage格式,制作完成后的镜象可以直接在Winhex中打开。但如果在制作镜象文件过程中使用了压缩功能,则文件的拷贝会稍有不便,因为虽然压缩过的镜象文件占用空间较小,但拷贝时会被解压缩,这也就意味着拷贝至的目标位置空间不能小于镜象未压缩前的原始大小。

.whx备份文件可以视为由Winhex生成的一种专门的数据库文件,即便在镜象制作过程中对镜象文件进行了压缩,对镜象文件进行拷贝时也不存在被解压缩的问题,因为这种压缩是由Winhex本身完成的,对于系统而言它并不是压缩的,而只是一个普通的文件而已。但在Winhex中打开.whx文件时,要么需要回写入一个磁盘,要么需要建立一个临时文件,要么需要将其解压缩另存为一个Raw类型的镜象文件。

提示:不需要进行拷贝传输或经常使用的,应该考虑制作成Raw格式镜象;如果需要拷贝传输,则应该考虑制作为.whx类型的备份文件。

2.Pathandfilename

路径及文件名。设定保存镜象文件的路径位置和文件名。

3.Powerdowncomputeraftercompletion

任务完成后关闭计算机。如果勾选了此项,镜象制作完成后计算计算机将会自动关闭。

4.Scope:sectors

镜象扇区范围。如果选择制作Raw格式镜象,起始扇区处理不可选状态,只能由0号扇区开始。如果选择制作Winhex备份文件,则镜象扇区的起始和结束位置都可以自行设定。

5.Computehash

计算hash值。勾选该项后,程序会按设定的校验方式计算hash值。

6.Compression

压缩方式。可以在此选择是否对镜象文件进行压缩,以及压缩的方式。

7.Splitimageintosegmentsof..

将文件拆分为指定的大小。如果要使用光盘存储镜象文件,可以勾选此项并设定相应的单个文件大小,程序会按该指定的大小将镜象文件拆分成若干个文件,便于保存。

4.3.11回写磁盘镜象

Winhex可以将镜象文件重新回写入一个指定的磁盘,该功能可以通过选择菜单File→RestoreImage调用。

1.回写非.whx文件

调用后将出现图4.64所示的文件选择框,默认文件类型为.whx,如果你的镜象文件是.001、.dd之类的非.whx备份文件,则可以在“文件类型”小窗口中进行类型选择,以使你所需要的文件出现在上面的文件选择窗口中。

图4.64

选择好镜象文件后双击该文件或点击“打开”,就会弹出目标磁盘选择框,可以在选择框中选择镜象要恢复至的磁盘。

选择好目标磁盘后点击OK,磁盘窗口关闭,显示克隆磁盘窗口,如图()所示。点击OK按钮即可开始写入磁盘。

2.回写.whx文件

如果将.whx类型的文件回写入磁盘或试图将一个.whx类型文件拖入Winhex窗口将其打开时会弹出图()所示的对话框(使用Winhex的“打开文件”功能则不会弹出此对话框),由用户选择是否将其写回某磁盘以及写入磁盘的方式。

图4.65

(1)Writetothediskonlyonsaverequest

只在接到写入请求后将数据写入磁盘。选择此项后,Winhex并不将数据直接写入磁盘,只有当用户下达保存入磁盘指令后才真正写入磁盘。

(2)Writesectorsdirectlyandimmediatelytothedisk

直接写入磁盘。

注意,选择此项后,镜象文件会被直接写入对话框下面设定的目标磁盘内。如果选择错了目标磁盘,被破坏的磁盘上的数据将无法恢复。

(3)Exportsector(s)intoaraw,headerlessimagefile

将当前.whx文件转换成其它类型的镜象文件。选择该项后,程序会将当前的.whx文件输出为一个指定类型的镜象文件并保存在指定的路径。

(4)Extractsectors

提取扇区数。可以在此设定要从镜象中提取的扇区数量。

(5)Basedestinationsector

基准扇区号。即从哪个扇区开始提取。

(6)Destinationdisk

目标磁盘。可以在此选择将要写入的目标位置磁盘,一定要慎重选择,避免错写入其他磁盘造成数据破坏。

用户可以根据需要自行选择相应的功能选项,具体操作不再赘述。

4.3.12右键定义选块

Winhex中提供了很多右键菜单,使用起来非常方便。

我们经常会在Winhex中对某一区块进行操作,比如复制、粘贴等。对于较小的选块,可以直接按住鼠标左键由起始偏移位置移动结束偏移位置进行选取;要选取整个文件或磁盘,可以按键盘上的Ctrl+A进行全选;但对于较大范围部分选块的选取,右键菜单中提供的定义选块功能就显得更加实用且方便了。

在Winhex中打开一个文件或磁盘,在十六进制区或文本字符区内要做为选块起始的偏移位置右击,在弹出的菜单中选择Beginningofblock(选块起始)或按键盘上的Alt+1将指针当前位置设定为选块的起始位置,如图4.66所示。

图4.66

图4.67

跳转到要做为选块结束位置的偏移字节处,在该位置右击,在弹出的菜单中选择Endofblock(选块结束)或按键盘上的Alt+2,将当前位置设定为选块结束位置,如图4.67所示。

选块范围设定完毕后,被选中的部分将以设定的选块颜色醒目显示,这时就可以对其进行后续操作了。

4.3.13右键菜单之“撤销操作”

在对某个文件或磁盘内容进行修改前,我们首先应该了解如何对已进行的修改操作进行撤销,以使我们可以有机会更改错误的操作。

如果在Winhex内对文件或磁盘内容进行了更改后尚未关闭该操作对象,若要撤销该更改操作,可以右击,在弹出的菜单中选择Edit→Undo或按键盘上的Ctrl+Z进行回滚操作,如图4.68所示。

撤销操作并不是可以无限制地进行的,所以在更改操作中应该尽可能地做到准确无误。

图4.68

4.3.14右键菜单之“剪切选块”

在Winhex内,剪切操作只对文件有效,且被操作的文件必须以页面形成显示,不能被解释为磁盘。

在要对其进行剪切操作的选块内右击,在弹出的菜单中选择Edit→Cut或按键盘上的Ctrl+X后,会弹出确认对话框,告知用户剪切掉当前选块内容将会使文件减小,是否确认进行剪切操作,点击Yes按钮确认后即开始剪切。

剪切操作只在内存中进行,要保存剪切后的文件,需要对其进行保存操作。

4.3.15右键菜单之“拷贝选块”

Winhex提供的复制功能非常丰富而细腻,可以进行各种各样的复制操作。操作菜单位于右键菜单Edit→CopyBlock菜单下,如图4.69所示。

图4.69

下面我们对各个复制命令菜单进行介绍,操作时,在被操作的选块内右击,然后选择相应的操作命令即可。

1.Normally

常规复制。常规复制是Winhex中最普通、使用最为广泛的复制方式。它适合在Winhex窗口的工作区内进行复制、粘贴、写入操作。

如图4.70所示。我们要将偏移0x00处起始的16个字节复制后写到偏移0x20处起始的16个字节,可以首先选中0x00~0x0F这16个字节,然后在选块内右击,选择Edit→CopyBlock→Normally菜单项,内容即被复制到剪贴板。

图4.70

然后在要写入的位置0x20处右击,选择Edit→ClipboardData→Write将内容写入到该位置起始的16个字节处,如图4.71所示。关于clipboardData内的菜单项,我们将在后面进行详细介绍。

图4.71

图4.72显示了写入后的情形,可以看到,0x00~0x0F字节处的16个字节已经被成功复制并写入到了0x20~0x2F处的16个字节处。但这个操作只是在内存中发生了改变,如果要将改变结果写入磁盘,需要进行保存操作。

图4.72

2.Intonewfile

右键菜单Edit→CopyBlock→Intonewfile用于将选块内容重新写入、保存为一个新的文件。

例如,如图4.73所示,我们要将0x00~0x2F保存成一个新的文件,可以在选块内右击,选择Edit→CopyBlock→Intonewfile。

图4.73

随后会弹出文件名设置与保存路径选择对话框,如图4.74所示。

图4.74

默认的文件名是noname,用户可以根据自己的需要对文件名进行设置,在此我们使用默认名,点击“保存”按钮后,文件保存成功并自动在Winhex中打开,如图4.75所示。

图4.75

3.HexValues

拷贝十六进制值。假如我们要将Winhex的十六进制窗口中的十六进制数据拷贝到一个文档内,就必须使用Winhex提供的拷贝十六进制值的功能。

图4.76显示了使用Edit→CopyBlock→Normally进行常规拷贝和使用Edit→CopyBlock→HexValues进行十六进制值拷贝的不同结果,上面的Winhex窗口中是被复制的内容,记事本中上面的一行是常规拷贝的结果,下面一行是进行十六进制值拷贝的结果。

图4.76

4.EditorDisplay

按编辑窗口显示的样式进行复制。该菜单项可以将Winhex窗口中显示的内容按其布局样式复制到文档中,如图4.77所示。

可以看到,记事本中精确地复制了Winhex窗口中的偏移值、十六进制内容及文本字符内容。

图4.77

5.GREPHex

复制十六进制值为GREP语法形式。该菜单项是便于使用GREP语法工作的用户将Winhex窗口中的十六进制值直接拷贝并转换成相应的十六进制书写形式,复制结果如图4.78所示。

图4.78

6.CSource

复制十六进制值为C语言源码形式。该菜单项是便于使用C语言进行编程工作的用户将Winhex窗口中的十六进制值直接拷贝并转换成C语言源码形式。如图()所示,程序直接将复制的十六进制值做为无符号的字符数组输出。

图4.79

7.PascalSource

复制十六进制值为Pascal语言源码形式。该菜单项是便于使用Pascal语言进行编程工作的用户将Winhex窗口中的十六进制值直接拷贝并转换成Pascal语言源码形式,复制转换结果如图4.80所示。

图4.80

4.3.16右键菜单之“剪贴板数据处理”

在Winhex中,复制的数据暂时保存在剪贴板中,右键菜单Edit→ClipboardData菜单下的菜单项用于对这些数据进行处理。它包含Paste(粘贴)、Write(写入)、PasteIntoNewFile(粘贴进新文件)和EmptyClipboard(清空剪贴板)四项,如图4.81所示。

图4.81

1.Paste

粘贴。用于将剪贴板内的数据粘贴到一个指定的位置,该操作只对文件有效,对磁盘无效。粘贴操作会增加目标文件的大小,因为粘贴时剪贴板内的内容被写入指定位置,指定位置原来的数据将向文件尾部移动。

假设有一个文件在Winhex中打开如图()上半部分所示,我们要将0x00~0x0F处的这16个字节复制后粘贴到0x20处。请注意,现在0x20~0x27处的8个字节内容是“0102030405060708”,该文件的大小字节数目前为0x9F个字节。

图4.82下半部分是粘贴后的结果,可以看到,0x20处被粘贴进了与0x00~0x0F的16个字节相同的内容,0x20处原来的“0102030405060708”向后顺延了16个字节到了0x30处,文件大小字节数也由原来的0x90个字节增加了16个字节,变成0xA0个字节。

图4.82

2.Write

写入。“写入”操作与“粘贴”操作不同的地方在于,“粘贴”操作“插入”指定的位置,该位置的原有数据向后移动,无论粘贴的内容是多少(不为0字节)都会改变文件的大小;“写入”操作则是由指定的写入位置开始“覆盖”,如果由写入位置开始至文件结尾处的空间大于或等于要写入的内容,则文件的大小不会改变。如果由写入位置开始至文件结尾处的空间小于要写入的内容,文件则会被增大,增加的数量是写入的内容与写入点至文件结尾处的空间大小之差。

3.PasteIntoNewFile

粘贴进新文件。如果剪贴板中的内容是Winhex十六进制值,则粘贴进新文件命令与前面介绍的拷贝菜单中的粘贴入新文件命令功能相同。如果剪贴板中的内容不是Winhex十六进制值,比如从其他文档中复制的数据,对其进行“粘贴进新文件”操作时会弹出格式选择框,如图4.83所示,应该根据需要选择相应的格式。

图4.83

4.EmptyClipboard

清空剪贴板。该菜单项用于清空剪贴板中的内容,以释放内存资源。

4.3.17

右键菜单之“移除选块”

右键菜单Edit→Remove用于删除选块内容,该菜单项只对文件有效。

移除选块操作将会减小文件的大小。如图4.84所示,我们要移除0x00~0x07字节处的8个字节,移除前该文件大小为0x9F个字节。移除后,原0x08至文件结尾处的所有字节向文件头部移动8个字节,文件大小也就为0x97个字节,减小了8个字节。

图4.84

4.3.18

右键菜单之“粘贴零字节”

右键菜单Edit→PasteZeroBytes用于在指定的位置插入指定数量的“00”,该操作只对文件有效,且会增加文件的大小字节数。如图4.85(A)所示,我们要在偏移0x10的位置插入16个字节的“00”,则在该偏移位置右击,然后选择Edit→PasteZeroBytes。

随后,程序会弹出对话框询问要插入的“00”的数量,以十进制计数,在此我们输入“16”,如图4,85(B)所示。

然后点击OK,程序即会向指定位置插入指定数量的“00”,如图4.85(C)所示,可以看到,文件由原来的0x95个字节增加为0xA5个字节。

图4.85

4.3.19右键菜单之“填充选块”

有时候,由于各种原因我们可能需要对磁盘上的的某些数据进行清除,比如对一些敏感数据进行销毁,对干扰数据进行清零等。Winhex提供的右键菜单项Edit→FillBlock可以满足这些需求。

要对某选块进行清零或使用其他数据进行填充,可以在选块内右击,然后选择Edit→FillBlock菜单项,随后会弹出填充选块设置对话框,如图4.86所示。

图4.86

1.Fillwithhexvalues

填充内容,可以自行设定任意十六进制值,默认为“00”。

2.Simplepseudo-randomnumbers

使用随机数据。如果选择了该项,其下的随机数字设定范围将会处于可填写状态,可以在其中填入0~255间的任意数值范围。

后面的两个选项为使用加密数据填充,不再详细介绍。

设置完毕后点击OK按钮即开始填充操作。

4.3.20跳转到页

在Winhex中打开一个文件后,如果要跳转到某页,可以选择Position→GoToPage菜单项(如图4,87),在弹出的跳转到页窗口中输入要跳转到的页号(如图4.88所示),即可精确地跳转到目标页。

图4.87

图4.88

不过,更多的时候我们会在Winhex中将文件解释为磁盘,具体操作见下一小节。4.3.21将文件解释为磁盘

有时候我们需要在Winhex中将打开的文件视为磁盘对待,比如磁盘镜象文件解释为磁盘后可以自动识别其中可识别的分区、文件系统;某些格式的文件其内部结构与大多数磁盘一样使用512字节为最小块等等。

Winhex将文件解释为磁盘的菜单项为Specialist→InterpretImageFileAsDisk,如图4.89所示。

图4.89

将一个包含Winhex可识别的正常的分区或文件系统结构的镜象文件解释为磁盘后,不仅便于使用Winhex直接加载其分区,更为重要的是在使用Winhex重组RAID时可以使该镜象文件象一个磁盘一样出现在Winhex的阵列成员盘选择框中。

如图4.90所示,SD_Format.img就是一个镜象文件,将其解释为磁盘后,在Winhex的阵列成员盘选择框中可以看到它的存在,如果不将其解释为镜象,它将无法出现在该对话框中。关于使用Winhex恢复RAID数据,我们将在后面的章节中专门介绍。

图4.90

4.3.22调整选块选取位置

在Winhex中可以在不改变选块的选取范围大小的情况下对选块的选取位置进行调整,菜单项为Position→MoveBlock。

举例说明,如图4.91所示,我们现在选取的选块为0x10~0x2F,要将选取的范围调整为0x30~0x4F,也就是将选块的选取范围向向下移动0x20个字节,可以点击菜单项Position→MoveBlock,如图4.92所示。

图4.91

图4.92

随后会弹出图4.93所示的设置对话框,其中:

Distance:调整的距离,单位为字节数,单位根据Winhex的偏移坐标不同而不同,如果Winhex正在使用的坐标值是十六进制,则该窗口使用十六进制;如果Winhex正在使用的坐标值是十进制,则该窗口使用十进制。我们现在使用的坐标是十六进制,所以在窗口中输入十六进制值“20”。

Direction:方向,有forward(前进、向下)和backward(后退、向上)两个选项。在此我们要向下移动0x20个字节,所以选择forward。

图4.93

设置好后点击OK,选块的选取范围即被调整为0x30~0x4F,如图4.94所示。

图4.94

4.3.23

转到…

Winhex提供了快速跳转到某些特定位置的功能,它们的菜单项位Position→GoTo菜单下,如图4.95所示。

图4.95

1.BeginningOfFile

跳转到文件开始处。打开着一个文件时用于跳转到该文件的偏移0字节处。

2.EndOfFile

跳转到文件结尾处。打开着一个文件时用于跳转到该文件的最后一个字节处。

3.BeginningOfBlock

跳转到选块开始处。如果定义了选块,该功能用于跳转到该选块的第一个字节处。

4.EndOfBlock

跳转到选块结尾处。如果定义了选块,该功能用于跳转到该选块的最后一个字节处。

5.BeginningOfPage

跳转到页起始处。如果打开着一个文件,用于跳转到当前页的偏移0字节处。

6.EndOfPage

跳转到页结尾处。如果打开着一个文件,用于跳转到当前页的最后一个字节处。

7.BeginningOfLing

跳转到行起始处。用于跳转到光标当前所在行的行首,即第一个字节处。

8.EndOfLing

跳转到行结尾处。用于跳转到光标当前所在行的行尾,即最后一个字节处。

4.3.24

标记位置

使用Winhex进行工作的过程中,我们可能需要对某个特定的位置进行标记,便于稍后能够很快地重新找到这个位置;如果标记的位置不再需要时,就需要取消对它的标记,这些功能可以通过菜单项Position→MarkPosition和位于其下的DeleteMarker进行,如图4.96所示。

图4.96

MarkPosition用于对当前光标所在处的字节进行醒目标记,为了节省篇幅,对此功能不再配图显示。

DeleteMarker用于取消标记,而位于其下的GoToMarker则用于直接跳转到处于标记状态的字节处。

4.3.25位置管理器

在实际工作中,我们可能需要使用Winhex在磁盘或文件中对某个特定的值进行搜索,我们可以在搜索时设置自动记录搜索到的目标位置,搜索完毕后程序会自动打开位置管理器,搜索到的目标在管理器中顺序排列,第一列为偏移值,第二列为搜索到的目标对象。

如图4.97所示,这是我们设定的搜索位于每个扇区结尾的可能存在的十六进制“55AA”的搜索结果。

图4.97

记录在Winhex位置管理器中的内容,即使在关闭Winhex程序后也不会消失。但如果再次使用Winhex时,位置管理器可能并不会自动打开,如果要使用位置管理器中保存的内容,可以通过单击菜单项Position→PositionManager打开它,如图4.98所示。

图4.98

4.3.26

分割文件

有时候,我们可能需要将一个文件分割成几个部分进行存放,比如保密需要、存储需要等。Winhex中的菜单项Tools→FileTools→Split提供了这项功能,即将一个文件按先后顺序、以设定的单元大小进行拆分,比如要将一个450MB的文件按每部分100MB分割,分被分割为四个100MB和一个50MB的文件单元,原理如图4.99所示。

图4.99

点击Tools→FileTools→Split菜单项后会弹出分割文件选择框,可以在选择框中选择要分割的文件并单击Split按钮,随即会弹出分割单元设置框,如图4.100所示。

图4.100

可以根据需要设置分割单元的大小,设置好后点击OK按钮,程序会再弹出一个文件保存对话框,需要在这个对话框中设置第一个分割单元的文件名和保存路径,设置好后即可开始进行分割。

当第一个单元保存完毕后,程序会暂停并再次弹出文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论