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文档。

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

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

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

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

7  :撤销

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

8.  :复制选块

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

9.  :写入选块

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

10.  :转换文件

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

图4.28

11.  :修改数据

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

图4.29

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

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

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

图30

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

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

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

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

*        Left shift by 1 bit:左移一位,将每个字节左移一位。例如,如果某个字节的值为0x04,换算成二进制后是0000 0100,左移一位后变成0000 1000,即0x08。

*        Right shift by 1 bit:右移一位,将每个字节右移一位。例如,将0x04右移一位变成0x02。

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

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

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

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

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

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

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

图4.31

12.  :查找文本

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

图4.32

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

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

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

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

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

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

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

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

*        List search hits,up to:将搜索结果列表显示,可以设定显示的搜索结果数量。

13.  :查找十六进制值

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

图4.33

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

14.  :替换文本

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

图4.34

图4.35

图4.36

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

图4.37

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

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

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

图4.38

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

15.  :替换十六进制值

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

16.  :同时搜索文本

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

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

图4.39

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

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

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

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

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

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

17.  :转到某偏移量

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

图4.40

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

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

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

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

*        Current position (back from):从光标所在的当前位置向偏移量较小的方向跳转。

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

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.  :帮助

用于调用帮助文件。

常规设置

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

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

图4.45

1. Show Start Center at startup

该条有两种选项,用鼠标点击时会在Show Start Center at startup和Restore last window arrangement间进行转换。

u        Show Start Center at startup:启动程序时显示启动中心。选中该项后,程序启动时会首先显示一个启动中心窗口,如图4.46所示。

图4.46

²        打开文件按钮Open Flie:用于打开一个文件。

²        打开磁盘按钮Open Disk:用于打开一个磁盘。

²        打开内存按钮Open RAM:用于打开内存。

²        打开文件夹按钮Open Foldder:用于打开一个文件夹。

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

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

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

2. Items in Windows context menu

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

图4.47

图4.48

3. Allow multiple program instances

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

4. Do not update file time

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

图4.49

5. Open data windows maximized

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

6. WinHex context menu

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

图4.50

7. Show file jcons

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

8. Number partitions by disk location

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

图4.51

9. Auto-detect deleted pqrtitions

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

图4.52

图4.53

10. Sector reading cache

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

11. Check for suplus sectors

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

12. Aternative disk access method

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

13. Substitute pattem for unreadable sectors

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

14. Folder for temporary files

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

15. Folder for images and backup files

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

16. Folder for cases and projects

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

17. Folder for scripts

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

18. Gallery:Show pictures in archives

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

19. Show video preview pictures

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

20. Windows-styled progress bar

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

21. Display time zone

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

图4.54

22. Generate 0x..with Enter

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

23. Generate Tabsb with Tab key

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

24. <0x20 substitute character

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

25. Display bytes as test one by one

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

图4.55

26. Hexadecimal offsets

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

27. Virtual addresses in RAM editor

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

28. Display page separators

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

29. ...bytes per line

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

30. ...byte groups

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

31. ...units to scroll on a wheel roll

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

32. Dialog window style

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

33. MFT FILE record auto coloring

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

34. Block backgrornd color

选块背景颜色。

35. Record backgrnd color

记录背景颜色。

36. Annotation color

标签颜色。

37. Hilite modified bytes

醒目显示修改过的内容。

38. Font

字体。

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

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

图4.56

1. Take New one

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

2. Particularly thorough file data structure search

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

3. File header signature search

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

4. Compute hash

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

4.3.8 目录浏览器设置

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

图4.57

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

1. Group files and directories

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

2. Group existing and deleted items

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

3. With Ctrl+A include “x” files also

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

4. List previously ex.items

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

4.3.9 克隆磁盘

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

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

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

图4.58

图4.59

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

(1)        来源设置

单击磁盘选择按钮 ,将弹出如图4.60所示的来源磁盘选择对话框,上半部分的Logical Drive Letters中显示的是各个逻辑分区;下半部分的Physical Media为物理磁盘。既可以在对话框中选择逻辑分区作为克隆操作的来源磁盘,也可以选择一个物理磁盘作为克隆操作的来源磁盘。双击要选择的磁盘或单击该 磁盘后单击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:镜像完毕后,将会给出提示并以文件形式给出克隆结果。

创建磁盘镜象

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

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

图4.63

1. Image file format

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

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

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

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

2. Path and filename

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

3. Power down computer after completion

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

4. Scope:sectors

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

5. Compute hash

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

6. Compression

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

7. Split image into segments of..

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

4.3.11 回写磁盘镜象

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

1. 回写非.whx文件

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

图4.64

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

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

2. 回写.whx文件

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

图4.65

(1) Write to the disk only on save request

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

(2) Write sectors directly and immediately to the disk

直接写入磁盘。

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

(3) Export sector(s) into a raw,headerless image file

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

(4) Extract sectors

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

(5) Base destination sector

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

(6) Destination disk

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

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

4.3.12 右键定义选块

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

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

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

图4.66

图4.67

跳转到要做为选块结束位置的偏移字节处,在该位置右击,在弹出的菜单中选择End of block(选块结束)或按键盘上的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→Copy Block菜单下,如图4.69所示。

图4.69

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

1. Normally

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

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

图4.70

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

图4.71

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

图4.72

2. Into new file

右键菜单Edit→Copy Block→Into new file用于将选块内容重新写入、保存为一个新的文件。

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

图4.73

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

图4.74

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

图4.75

3. Hex Values

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

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

图4.76

4. Editor Display

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

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

图4.77

5. GREP Hex

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

图4.78

6. C Source

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

图4.79

7. Pascal Source

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

图4.80

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

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

图4.81

1.Paste

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

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

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

图4.82

2.Write

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

3.Paste Into New File

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

图4.83

4.Empty Clipboard

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

4.3.17  右键菜单之“移除选块”

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

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

图4.84

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

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

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

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

图4.85

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

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

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

图4.86

1. Fill with hex values

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

2. Simple pseudo-random numbers

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

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

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

4.3.20 跳转到页

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

图4.87

图4.88

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

将文件解释为磁盘

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

Winhex将文件解释为磁盘的菜单项为Specialist→Interpret Image File As Disk,如图4.89所示。

图4.89

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

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

图4.90

4.3.22 调整选块选取位置

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

举例说明,如图4.91所示,我们现在选取的选块为0x10~0x2F,要将选取的范围调整为0x30~0x4F,也就是将选块的选取范围向向下移动0x20个字节,可以点击菜单项Position→Move Block,如图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→Go To菜单下,如图4.95所示。

图4.95

1. Beginning Of File

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

2. End Of File

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

3. Beginning Of Block

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

4. End Of Block

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

5. Beginning Of Page

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

6. End Of Page

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

7. Beginning Of Ling

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

8. End Of Ling

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

4.3.24  标记位置

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

图4.96

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

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

4.3.25位置管理器

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

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

图4.97

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

图4.98

4.3.26   分割文件

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

图4.99

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

图4.100

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

当第一个单元保存完毕后,程序会暂停并再次弹出文件保存路径对话框,这次是要求设置第二个分割单元的文件名及保存路径,设置好后程序会继续进行,这个过程反复进行直到文件被分割完毕。

4.3.27 交叉拆分文件

交叉拆分文件与分割文件不同,分割文件是将一个文件按先后顺序进行分块,而交叉拆分文件则是将一个文件按要求以8位或16位为单元交替拆分成两个文件,比 如要将“01 02 03 04 05 06 07 08 09 0A”进行拆分,拆分后的结果就是“01 03 05 07 09”和“02 04 06 08 0A”。

交叉拆分文件菜单项是Tools→File Tools→Dissect,如果按8Bit(1个字节)为拆分单元则选择Bytevise(8-Bit),若要按16Bit(2个字节)为拆分单元则选择Bytevise(16-Bit),如图4.101所示。

图4.101

在随后弹出的各个对应窗口中依次选择被拆分的文件、保存为的第一个文件名及路径、保存为的第二个文件名及路径即可开始拆分。

4.3.28 连接文件

连接文件与分割文件的过程相反,是将若干个文件首尾相接连接起来。

连接文件菜单项为Tools→File Tools→Concatenate,点击后首先弹出的是文件名设置及保存路径对话框,用于设置连接后生成的文件的文件名及存储位置。

设置好后点击“保存”按钮,随即弹出基础文件选择框,也就是要进行连接的第一个文件,如图4.102所示。

图4.102

选择好第一个文件后点击Append按钮,会再次弹出该对话框,用于选择第二个文件、也就是连接在第一个文件之后的下一个文件,选择好后点击Append…,该过程反复进行直到将所有要连接的文件选择完毕。

最后点击Done按钮,程序即开始连接所有文件。

4.3.29交叉合并文件

交叉合并文件是交叉拆分文件的反过程,它是按设定的单元大小(8Bit或16Bit)从两个文件中交叉提取字节后写入一个新的文件的过程。

交叉合并文件的菜单项是Tools→File Tools→Unify,如图4.103所示。

图4.103

点击菜单项后首先弹出的是要被合并的第一个文件的选择框,选择好后点击OK,程序会再次弹出文件选择框让用户选择用于合并的第二个文件,选择好后点击OK,会弹出合并后文件的文件名设置及保存路径对话框,用于设置合并后生成的文件的文件名及存储位置。

设置好后点击“保存”按钮,程序即开始合并文件。

4.3.30自动比较文件或磁盘

使用比较功能,可以根据需要寻找出两个比较对象间的不同之处或相同之处,在数据恢复分析过程中非常实用。

Winhex提供了对两个文件或磁盘进行比较以查找相同位置的不同点或相同点的功能,菜单项为Tools→File Tools→Compare,如图4.104所示。该功能不仅可以对两个磁盘进行比较、对两个文件进行比较,还可以进行磁盘与文件间的比较。

图4.104

点击菜单项后会弹出比较设置对话框,如图4.105所示。

图4.105

u        可以通过单击1st file或2nd file后的 按钮调出相应的第一比较对象及第二比较对象选择对话框。

u        在相应目标后的From offset框中可以分别输入开始比较的字节偏移位置。

u        单击Search differences前的 按钮,可以在“搜索不同点”和“搜索相同点”间进行循环转换,其后的Compare框中是需要比较的字节数,如果是对所有字节进行比较,通常可以不进行设置,单击OK后会自动填入相应值。

u        如果勾选了Discontinue comparison after,可以在框中设置一个字节数,根据搜索相同点或不同点的设置,相同字节数量或不同字节数量达到这个数值时即暂停比较,然后以文本方式给出相同点 或不同点的字节位置及内容。如果不勾选此项,将会对两个对象进行完全比较后给出比较结果。

单击1st file后的 按钮,弹出第一比较对象选择对话框,如图4.106所示。

图4.106

u        如果第一对象为文件,可以单击Open File按钮,在弹出的Open File对话框中选择一个文件。

u        如果第一对象为磁盘,则单击Open Disk按钮,在弹出的Open Disk对话框中选择一个磁盘,可以是逻辑分区,也可以是一个物理磁盘。

选择好第一对象后,设置开始比较的字节位置,默认为偏移0字节处。

单击2nd file后的 按钮,调出第二比较对象选择对话框,与第一对象的选择方式相同。选择第二比较对象并设置好起始字节后,设置寻找相同点还是不同点及寻找的字节数量。在此,我们以在一个文件和一个磁盘间寻找第一个内容相同的字节为例,设置如图4.107所示。

确认设置无误后,单击OK按钮并对警告框进行确认后即开始比较。比较完成或达到寻找目的后,即会给出结果报告,如图4.108所示。

图4.107

图4.108

我们可以看到,文件1.IS0和磁盘2间的第一个内容相同的字节位置为偏移0x05处,内容都为“00”。

4.3.31同步比较文件或磁盘

与自动比较不同,Synchronize & Compare(同步比较)功能是对已经在Winhex中打开的界面内容进行直观的同步比较。例如,我们在界面中打开了文件1.ISO和磁盘2,选择 View→Synchronize & Compare菜单命令即可实现对两个界面中的内容进行同步比较,如图4.109所示。

图4.109

同步比较分别以各界面显示的第一个字节偏移位置为比较基准点,然后将各界面中的其他字节按相对偏移进行对号入座。例如,在选择同步比较功能时,1.ISO 当前界面显示的第一个字节偏移为0xB0,磁盘2显示的第一个字节偏移为0xD0,则将1.ISO的字节偏移0xB0与磁盘2的字节偏移0xD0作为比较 基准点,也就是1.ISO字节偏移0xB0处的内容与磁盘2字节偏移0xD0处的内容进行对比,相应地1.ISO字节偏移0xB1处的内容则和磁盘2字节 偏移0xD1处的内容进行对比,依此类推。内容不同的字节将会进行加黑处理,如图4.110所示。

图4.110

提示:同步比较的最大优点就是可以对各个比较对象进行界面“同步”,即当移动查看一个界面中的内容时,参与同步比较的其他界面内容也将同步移动,同时进行异同比较,从而可以非常方便、直观地查看对象间存在的相同之处与不同之处。

4.3.32 安全擦除文件

Winhex提供了对文件进行安全擦除的功能,用于对数据进行安全销毁,原理就是对销毁对象进行覆盖。

其菜单项是Tools→File Tools→Wipe Securely,如图4.111所示。

图4.111

点击菜单项后会弹出删除对象选择框,用于选择被安全擦除的文件,可以同时选择一个目录下的多个文件,如图4.112所示。

图4.112

选择好要安全擦除的文件后点击Delete按钮,程序会弹出擦除设置对话框,该对话框实际上就是前面介绍过的“填充选块”设置框,可以在其中选择使用什么十六进制值对销毁对象进行覆盖。

设置完成后即可开始对文件进行擦除。

4.3.33 进制转换器

数据恢复要经常与十六进制打交道,而我们正常生活中习惯使用十进制,就必然会有许多十六进制与十进制间的转换问题,Winhex就提供了这样一个进制转换器,它的菜单项是Tools→Hex Converter,如图4.113所示。

点击菜单项后会弹出十六进制与十进制转换器窗口,如图4.114所示。左边的输入框是十六进制输入框,右边的输入框是十进制输入框,在任何一个窗口中输入数值后按回车键,都会在另一个窗口中显示相应转换后的进制数值。

图4.113

图4.114

4.3.34 校验计算器

Winhex提供的功能不可谓不多,甚至包含一个功能强大的校验计算器,它的菜单项是Tools→Compute Hash,如图4.115所示。

图4.115

点击菜单项后即弹出校验计算器,计算器中包括了8位校验和、16位校验和、32位校验和、64位校验和、16位CRC校验等多种校验选项,如图4.116所示。

图4.116

要对磁盘或文件中的字节进行校验计算,可以将参加校验的部分选中为选块,然后调出校验计算器,设置要使用的校验方式后按OK键,即可得到校验结果。如图4.117所示,我们对一个文件的前32个字节进行8位校验和计算的结果是0x30。

图4.117

4.3.35选择字符集

不同的平台、不同的程序生成的数据可能会使用不同的字符集,不能正确地选择字符集会造成某些字体无法正常显示。例如,一个Word文档,选择使用 Unicode字符集会在文本字符区显示可识别的汉字(图4.118),而使用其它字符集则会显示为不可识别的乱码(图4.119)。

图4.118

图4.119

字符集选择菜单项位于Options→Character Set下,可选项有ANSI ASCII、IBM ASCII、EBCDIC和Unicode,如图4.120所示。

图4.120

4.3.36 窗口管理

最后,我们来看一下Winhex窗口管理的几个菜单项,所有与窗口有关的菜单项都位于Window菜单下,如图4.121所示。

图4.121

在此我们只介绍几个重要的菜单项,其他各项由读者自行研究。

1. Close All

关闭所有窗口。有时我们会同时打开着很多个目标磁盘或文件,如果在退出Winhex时不关闭所有窗口,再次打开Winhex时可能会自动重新打开这些窗 口。而一个一个关闭这些窗口又太麻烦了,所以Winhex提供了这个Close All菜单项,用于一次关闭所有打开着的窗口。

2. Tile Horizontally

水平平铺窗口。水平平铺窗口用于将各个打开着的目标磁盘或文件窗口水平平铺,效果如图4.122所示。

该功能可以用于同时查看多个窗口,尤其在阵列分析时非常方便。

图4.122

3. Tile Vertically

垂直平铺窗口。垂直平铺窗口用于将各个打开着的目标磁盘或文件窗口垂直平铺,效果如图4.123所示。

与水平平铺相同,该功能可以用于同时查看多个窗口,尤其在阵列分析时非常方便。

signature=2abb9e363faa3aa7323b2a3393a36011,Winhex软件的使用相关推荐

  1. c语言求s=1 x x*x 2,Winhex软件的使用

    1. :新建文件 用于新建一个RAW文件(也可以通过菜单File→New或快捷键Ctrl+N实现同样的功能).点击该图标会弹出创建新文件对话框,如图4.24所示. 可以通过在对话框中输入数值并选择单位 ...

  2. 用Winhex软件解析PE文件

    一.概念 1. PE文件 PE(Portable Executable)文件,被称为可移植的可执行的文件,常见的EXE.DLL.OCX.SYS.COM都是PE文件,PE文件是微软Windows操作系统 ...

  3. 霍格沃兹分院测试_在法律上与理查德·霍格的对话是互联网上最喜欢的律师

    霍格沃兹分院测试 The first time I'd ever heard of Richard (Rick) Hoeg was earlier this month when he was a g ...

  4. trex刷固件_西數硬盘维修软件TREX指令使用教程.doc

    西數硬盘维修软件TREX指令使用教程 西数硬盘维修软件TREX指令使用教学 TREX支持电路板主芯片为88i开头的全系列家族.指令字母不分大小写. 自检(SF)流程意义解释: 流水号 功能名词 正常指 ...

  5. winhex改宽高和伪加密

    文章目录 前言 winhex 修改高度 png jar 伪加密 前言 我所熟悉winhex用法是两种,一种是修改了高度,另一种是进行了伪加密.我是在做题的时候突然忘了具体咋操作的了,于是就打算写下,方 ...

  6. 使用winhex对MBR分析

    使用管理员身份,打开winhex软件,在工具栏中点击打开磁盘图标: 注意:这里选择磁盘有两种:逻辑驱动器.物理驱动器. 选择逻辑驱动器,则没有MBR信息,选择物理驱动器有MBR信息. 这里选择物理驱动 ...

  7. 使用winhex恢复U盘RAW格式并提示未格式化故障U盘上的数据

    使用winhex恢复U盘RAW格式并提示未格式化故障U盘上的数据 在打开U盘和移动硬盘时,系统提示需要格式化,查看U盘和硬盘属性分区格式为RAW,但如果真的在windows下对其进行格式化的话,系统往 ...

  8. winhex修改JPG文件编码

    今年XATUSEC上的一道题 flag在图片最底下只有一点点,以为是要猜猜了半天orz. 利用winhex修改图片高度,百度JPG文件编码详细格式. 直接保存图片并不是原图片orz,放上原图片链接下载 ...

  9. 用WinHex解析分区表

    一.Winhex打卡磁盘主引导扇区 利用Winhex软件,打开磁盘主引导扇区,查看磁盘主分区表,计算各分区的大小和起始位置 1. 主引导扇区介绍 主引导记录(446字节)(0000 – 01BD) 分 ...

最新文章

  1. 博士最“惨”能到什么程度?
  2. ResultSet转List
  3. MySQL 语句外键 连接
  4. java ee期末项目相关
  5. 灰度不变性LBP( gray scale invariant) 旋转不变性LBP(rotation invariant)旋转不变等价LBP(rotation uniform invarian )
  6. POJ 2676 Sudoku【DancingLinks,数独】
  7. 【前端】Github Pages 与域名关联简明教程
  8. 软件测试 给视频添加字幕功能,巧用百度OCR文字识别技术,实现视频字幕识别...
  9. rs232接口定义_RS485通讯接口定义和特点
  10. android系统各种版本所占市场比例
  11. 论坛之家-免费论坛申请-3分钟建立自己的个性化论坛
  12. ubuntu18.04 Nvidia 显卡的风扇调速及startx的后果 --转载
  13. Js实现实时显示系统时间(获取当前时间并显示)
  14. 学习统计学之非参数检验
  15. 2018 CVPR:Pyramidal Person Re-IDentification via Multi-Loss Dynamic Training
  16. tomcat 日志报错 java.lang.UnsupportedClassVersionError: com/wlt/controller/IndexController
  17. EIE稀疏矩阵乘法硬件模拟
  18. python爬虫利器之scrapy的基本教程
  19. 蓝桥杯-迷宫(DFS)
  20. 51单片机c语言常用语句详解,51单片机之C语言-4.5基本语句之条件选择语句

热门文章

  1. NOIP2016Day1总结
  2. 基于华为云区块链服务快速部署和搭建链上应用
  3. Oracle 一种简单粗暴的办法解析XML文件的例子
  4. 【朝花夕拾】Android编码风格拾遗
  5. 2021巢湖学院高考成绩查询,2021年巢湖学院录取结果查询网址入口及录取结果公布时间...
  6. 大型传统企业的数字化创新之路
  7. 检测你的黑苹果系统主板是否支持原生NVRAM
  8. Spring解决跨域问题方案
  9. 软件测试工程师就业前景如何
  10. 【环形dp】poj 2228 Naptime