winhex 比较详细的图文使用教程+WinHex使用方法详解

数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里面的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。这里呢,我们主要介绍软恢复,因为硬恢复还需要购买一些工具设备(比如pc3000,电烙铁,各种芯片、电路板),而且还需要懂一点点电路基础,我们这里所讲到的所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工准确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快速恢复数据提供便利,而且所有软件均为网上下载,不需要我们投资一分钱。数据恢复的前提:数据不能被二次破坏、覆盖!关于数码与码制:关于二进制、十六进制、八进制它们之间的转换我不想多说,因为他对我们数据恢复来说帮助不大,而且很容易把我们绕晕。如果你感兴趣想多了解一些,可以到百度里面去搜一下,这方面资料已经很多了,就不需要我再多说了。数据恢复我们主要用十六进制编辑器:Winhex (数据恢复首选软件)我们先了解一下数据结构:下面是一个分了三个区的整个硬盘的数据结构MBRC盘EBRD盘EBRE盘MBR,即主引导纪录,位于整个硬盘的0柱面0磁道1扇区,共占用了63个扇区,但实际只使用了1个扇区(512字节)。在总共512字节的主引导记录中,MBR又可分为三部分:第一部分:引导代码,占用了446个字节;第二部分:分区表,占用了64字节;第三部分:55AA,结束标志,占用了两个字节。后面我们要说的用winhex软件来恢复误分区,主要就是恢复第二部分:分区表。引导代码的作用:就是让硬盘具备可以引导的功能。如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进入系统了。如果要恢复引导代码,可以用DOS下的命令:FDISK /MBR;这个命令只是用来恢复引导代码,不会引起分区改变,丢失数据。另外,也可以用工具软件,比如DISKGEN、WINHEX等。但分区表如果丢失,后果就是整个硬盘一个分区没有,就好象刚买来一个新硬盘没有分过区一样。是很多病毒喜欢破坏的区域。EBR,也叫做扩展MBR(Extended MBR)。因为主引导记录MBR最多只能描述4个分区项,如果想要在一个硬盘上分多于4个区,就要采用扩展MBR的办法。MBR、EBR是分区产生的。比如MBR和EBR各都占用63个扇区,C盘占用1435329个扇区……那么数据结构如下表:631435329631435329631253889MBRC盘EBRD盘EBRE盘扩展分区而每一个分区又由DBR、FAT1、FAT2、DIR、DATA5部分组成:比如C 盘的数据结构:C 盘DBRFAT1FAT2DIRDATAWinhexWinhex是使用最多的一款工具软件,是在Windows下运行的十六进制编辑软件,此软件功能非常强大,有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘;它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任意扇区,是手工恢复数据的首选工具软件。首先要安装Winhex,安装完了就可以启动winhex了,启动画面如下:首先出现的是启动中心对话框。

这里我们要对磁盘进行操作,就选择“打开磁盘”,出现“编辑磁盘”对话框:

在这个对话框里,我们可以选择对单个分区打开,也可以对整个硬盘打开,HD0是我现在正用的西部数据40G系统盘,HD1是我们要分析的硬盘,迈拓2G。这里我们就选择打开HD1整个硬盘,再点确定.然后我们就看到了Winhex的整个工作界面。

最上面的是菜单栏和工具栏,下面最大的窗口是工作区,现在看到的是硬盘的第一个扇区的内容,以十六进制进行显示,并在右边显示相应的ASCII码,右边是详细资源面板,分为五个部分:状态、容量、当前位置、窗口情况和剪贴板情况。这些情况对把握整个硬盘的情况非常有帮助。另外,在其上单击鼠标右键,可以将详细资源面板与窗口对换位置,或关闭资源面板。(如果关闭了资源面板可以通过“察看”菜单——“显示”命令——“详细资源面板”来打开)。最下面一栏是非常有用的辅助信息,如当前扇区/总扇区数目……等

向下拉拉滚动条,可以看到一个灰色的横杠,每到一个横杠为一个扇区,一个扇区共512字节,每两个数字为一个字节,比如00。下面我们来分析一下MBR,因为前面我们说过,前446个字节为引导代码,对我们来说没有意义,这里我们只分析分区表中的64个字节。

分区表64个字节,一共可以描述4个分区表项,每一个分区表项可以描述一个主分区或一个扩展分区(比如上面的分区表,第一个分区表项描述主分区C盘,第二个分区表项描述扩展分区,第三第四个分区表项填零未用)每一个分区表项各占16个字节,各字节含义如下:(H表示16进制)字节位置内容及含义第1字节引导标志。若值为80H表示活动分区;若值为00H表示非活动分区。第2、3、4字节本分区的起始磁头号、扇区号、柱面号第5字节分区类型符:00H——表示该分区未用06H——FAT16基本分区0BH——FAT32基本分区05H——扩展分区07H——NTFS分区0FH——(LBA模式)扩展分区83H—— Linux分区第6、7、8字节本分区的结束磁头号、扇区号、柱面号第9、10、11、12字节本分区之前已用了的扇区数第13、14、15、16字节本分区的总扇区数此硬盘的第一分区表(即MBR)分析如下:第一个分区表项(C盘)第1字节80:表示此分区为活动分区;第5字节0B:表示分区类型为Fat32;第9、10、11、12字节 系统隐含扇区3F 00 00 00:所谓系统隐含扇区就是本分区(C盘)之前已用了的扇区数,这是一个十六进制数,但要注意:真正的隐含扇区数应该反过来填写(比如:隐含扇区数为3E 4D 5A 6F,则反过来就是6F 5A 4D 3E ,这才是实际的隐含扇区数)。那么,3F 00 00 00反过来写就是00 00 003F,也就是3F,将他转成十进制数我们才能知道实际的隐含扇区数是多大。这可以使用计算器来算,单击工具栏上的“计算器”按钮,如下图:

这样就启动了计算器计算器有两种型号,我们要进行进制转换,就要选择“科学型”

比如我们要将十六进制3F转换为十进制,就要先选中“十六进制”,然后输入3F

再选中“十进制”,十六进制3F转为十进制等于63。想一想我们前面所讲的,MBR占用63个扇区,也就是C盘之前已用了的扇区数为63,第64个扇区就是C盘的第一个扇区,但要注意的是,整个硬盘的LBA地址是从零开始的,0~62的扇区为MBR。

第13、14、15、16字节本分区总扇区数(当然,这也就是C盘的大小):C1 E6 15 00,同样,实际的十六进制数也要反过来才对,也就是00 15 E6 C1,将它转换成十六进制数是1435329。给你出个题,你知道D盘的EBR在哪个扇区吗?我们一起来算一下,还记得前面数据结构那个表吗?C盘后面不就是D盘的EBR吗?D盘EBR的第一个扇区=MBR+C盘的大小,也就是 63+1435329=1435392。我们来看看对不对,单击工具栏上的“转到扇区”按钮,出现一个“转到扇区”对话框

然后输入1435392,再点“确定”,就到了1435392扇区了(你可以使用它再转回到0扇区)这个就是D盘的EBR,也就是D盘的分区表了,怎么知道的呢?因为MBR和EBR的结构是完全一样的,都是占用了63个扇区,但只用了第一个扇区,其余62个扇区填零不用。第一个扇区前446个字节都为引导代码,后64个字节为分区表,最后2个字节为55AA结束标志。因为EBR不是活动分区,不需要引导代码,所以前446个字节为零。还有另一种方法直接找到D盘的EBR,单击“访问”下拉按钮——“分区二”——“分区表”,直接就到1435392扇区.

这样,分区表中的第一个分区表项共十六个字节分析完毕,下面我们再来看看第二个分区表项(扩展分区)。第1字节00:表示非活动分区第5字节05:表示扩展分区第9、10、11、12字节00 E7 15 00:本分区之前的扇区数(扩展分区前面也就是MBR和C盘,好像我们前面算过这个数?)同样,先将它反过来,就是00 15 E7 00 ,再转为十进制是1435392,看来我们前面真的算过这个数。第13、14、15、16字节40 09 29 00:本分区的总扇区数。也就是扩展分区的总扇区数。转为十进制应该是2689344。想一想,用这个数加上前面的1435392,不正好是整个硬盘的总扇区数4124736吗?这样,如果分区表被破坏,我们只要把这些数值都计算出来并填上,分区表不就恢复了?那么,这里我们为什么不分析第2、3、4字节(本分区的起始磁头号、扇区号、柱面号)和第6、7、8字节(本分区的结束磁头号、扇区号、柱面号)呢?这是因为C/H/S(柱面/磁头/扇区)是老式硬盘的寻址方式,这种寻址方式来管理硬盘效率很低;而现在几乎所有的硬盘都支持LBA(全称是Logic Block Address,即扇区的逻辑块地址)寻址方式,这种管理方式简单高效。在LBA方式下,系统把所有的物理扇区都统一编号,按照从零到某个最大值排列,这样只用一个序数就确定了一个唯一的物理扇区。小知识:具体一个硬盘有多少个LBA(扇区)不需要我们去记忆,因为用各种工具软件(如MHDD WINHEX等)都可以检测到。我们只要知道个大概就行了:如10G的硬盘大概有2000万个扇区;20G的硬盘大概有4000万个扇区;40G的硬盘大概有8000万个扇区……那么,2G的硬盘大概有400万个扇区。那么,你可能要问了:如果要恢复分区表,这个起始磁头号、扇区号、柱面号还有结束磁头号、扇区号、柱面号应该怎么填呢?简单得很,在后面恢复分区表的时候我会告诉你,直接填,都不用计算。还有兴趣来分析一下D盘的EBR吗?其实D盘的EBR和E盘的EBR我们不分析也罢,因为无非也是分区表,跟MBR的结构是一样的,但却很容易把我们绕晕,又因为EBR一般不容易被破坏,所以我不建议分析EBR。但如果你一定要分析,那就分析吧。单击“访问”下拉按钮——“分区二”——“分区表”,直接就到1435392扇区,即D盘的分区表EBR。

第一个分区表项(D盘):第1个字节00:表示非活动分区第5个字节06:表示FAT16分区第9、10、11、12字节3F 00 00 00:本分区之前已用了的扇区数,也就是EBR的数目,63个。第13、14、15、16字节C1 E6 15 00:本分区的总扇区数,也就是D盘的扇区数,先反过来排列就是00 15 E6 C1,转为十进制就是1435329。第二个分区表项(D盘后面的):第1个字节00:表示非活动分区第5个字节05:表示扩展分区第9、10、11、12字节00 E7 15 00:本分区之前已用了的扇区数,也就是D盘的EBR加D盘总共的大小, 63+1435329=1435392第13、14、15、16字节40 22 13 00:本分区的总扇区数,1253952,也就是E盘的大小再加上一个EBR的数目。单击“访问”下拉按钮——“分区三”——“分区表”,直接就到2870784扇区,即E盘的分区表EBR。因为E盘后面没有分区了,所以没有第二个分区表项。这里我们就不再研究了,有兴趣的话可以自己多备一块硬盘作从盘,然后自己分分区研究研究。

通过以上的研究我们总结一下,MBR在定义分区的时候,将多余的容量定义为扩展分区,指定该扩展分区的起止位置,根据起始位置指向硬盘的某一个扇区,作为下一个分区表项,接着在该扇区继续定义分区,如果只有一个分区,就定义该分区,然后结束;如果不止一个分区,就定义一个基本分区和一个扩展分区,扩展分区再指向下一个分区描述扇区,在该分区上按照上述原则继续定义分区,直至分区定义结束。这些用来描述分区的扇区形成一个“分区链”,通过这个分区链,就可以描述所有的分区。系统在启动时按照分区链的连接顺序查找分区,直至找出所有分区。这个链显然是个开链结构,如果形成一个环,系统本身并不会去判断它,它只是按照这个链忠实的查找分区,而不进行任何额外的检测与处理。所谓硬盘逻辑锁,就是让分区链形成一个环,这样系统在启动时就在分区表内循环,表现为系统无法引导,就是从软盘启动,也不能进入硬盘。明白了其结构原理,解决这个问题就简单了,目前有很多种方法解决这个问题,后面我们还会讲到。系统就是利用这种方法使一个硬盘分区后看起来象多个硬盘。系统能够找到C盘以外的其他逻辑盘的唯一办法就是,沿着EBR所描述的分区链查找分区。其实,通常情况下EBR是不会被破坏的,或者破坏的几率极低极低,通常情况下,都是只有MBR被破坏,那么这种情况下,我们只要把MBR的分区表64个字节复原,其他的分区顺着分区表所提供的链自然而然就出来了。那么,如何才能将分区表复原呢?这就要通过计算结合Winhex强大的功能来实现了。下面我们就来模仿分区表被病毒破坏的情况,将MBR全部填零。我们首先将MBR所在的扇区选中。鼠标指向第一个字节,单击右键,选择“选块开始”

然后鼠标指向MBR的最后一个字节,单击右键,选择“选块结尾”

然后我们在选区内部单击鼠标右键,选择“编辑”

这样就有出来一个菜单

然后我们选“填充选块”,这样就出来一个填充选块对话框

在“用十六进制填充”的输入框中输入“00”,再点“确定”

这样MBR所在扇区全部被我们填充为“00”如果想取消选区,那就用鼠标拖动随便选中一块区域,那么原来的选区就会取消。注意,如果扇区数据被修改了而没有存盘就会变为别的颜色。

修改了扇区,这时候还没有存盘生效,如果你想存盘生效的话,就选择“文件”菜单“保存扇区”命令。

这时候就会出现一个提示,如果你不想存盘了就点取消,如果想存盘,就点确定,再点是。

好,这样就存盘了,扇区被修改的数据又变为黑色。

这样我们就把分区表给删除了,这时候必须重新启动才能生效,如果你打开我的电脑,会发现三个分区(F 、G、 H)还在那里,并且里面的数据还能正常使用。

现在,我们关闭所有程序将电脑重新启动……经过不长时间的等待,电脑启动起来了,我们打开我的电脑看看,发现F 、G 、H三个分区不见了。

再打开Winhex发现MBR全部为零了,下面我们就着手开始手工恢复分区表首先恢复引导代码,这最简单了,只要用Winhex到别的系统盘把引导代码复制过来就行了。我现在的机器上不是挂着两个硬盘吗?一个迈拓2G,一个西数40G,西数40G是我的系统盘,那就从这个盘上复制就行了。单击“磁盘编辑器”按钮

出现“编辑磁盘”对话框

选择“HD0 WDC WD400EB---00CPF0”,点“确定”

这样我们就把系统盘的分区表给打开了,注意,现在我们是打开了两个窗口,当前的窗口是“硬盘0”,在标题栏上有显示。另外,打开窗口菜单也能看出来,当前窗口被打上一个勾,如果想切换回原来的窗口,就点击“硬盘1”。首先选中系统盘的引导代码

然后在选区中单击鼠标右键,选“编辑”

又出来一个菜单,然后我们选“复制选块”——“正常”

然后我们切换回硬盘1窗口,在零扇区的第一个字节处单击鼠标右键,选“编辑”

然后选“剪贴板数据”——“写入……”

出现一个窗口提示,点“确定”

这样,我们就把一个正常系统盘上的引导代码复制过来了。

下面,我们就开始恢复分区表(共64个字节,分为4个分区表项,每个分区表项占用16个字节,一般只使用前两个分区表项),我们首先来恢复第一个分区标项(也就是用来描述C盘的)。首先,在第1个字节处(0扇区倒数第五行,倒数第二个字节)填上分区引导标志,因为C盘是活动分区,所以填上80。接着是第2、3、4字节(本分区起始磁头号、扇区号、柱面号),填上:01 01 00。第5字节是分区类型符,因为原先C盘是Fat32格式,所以填上:0B。那么,如果你不知道C盘是什么格式怎么办呢?你会说问问客户呀,那么如果他也不知道呢?别着急,后面在说恢复DBR的时候我会教你怎么分辨分区的格式。第6、7、8字节是本分区的结束磁头号、扇区号、柱面号,这怎么知道呢?别着急,现在的磁盘都是按照LBA方式寻址,并不按照C/H/S(及柱面、磁头、扇区)方式寻址,所以这个地方你填些什么一般关系不大,但是我要告诉你有一个通用的填法,那就是:FE FF FF。第9、10、11、12字节,本分区之前已用了的扇区数,也就是MBR所占用的扇区数,那不是63吗?对,但是要将63转为十六进制数,再反过来倒着填写上。还记得怎么用计算器吗?将63转为十六进制数是3F,不够四个字节前面加零,也就是00 00 00 3F,再将此数从右向左依次序反过来就是3F 00 00 00。

第13、14、15、16字节是本分区的总扇区数,也就是C盘的大小,这就要通过稍微一点点计算来得到了。因为C盘是从第63个扇区开始,而C盘后面紧接着的是EBR,所以用EBR所在的第一个扇区数减去63就是C盘的大小。那么如何才能找到EBR所在的第一个扇区呢?我们前面说过,EBR的结构和MBR是一样的,所以,EBR的结束标志也一定是55AA,那么,只要我们找到这个结束标志,再看看这个扇区是不是EBR不就行了?单击“搜索”——“查找十六进制数值……”,然后出来一个对话框

在文本框中输入“55AA”,搜索框中选“全部”,然后选中“条件”,把偏移量设置为“512=510”。

再单击“确定”。画面如下:

首先找到第一个“55AA”,我们看到,个扇区在第63个扇区上,并不是我们要找的EBR,再按F3继续查找

又找到好几个扇区,都不是,那么下面这个扇区是不是?

前面我们说过,EBR的结构和MBR的结构是一样的,所以在倒数第五行倒数第二个字节应该是00 01,并且前446个字节应该是0,显然这也不是EBR,继续按F3查找……终于找到了真正的EBR,在1435392扇区。小技巧:现在的硬盘都比较大,要逐个扇区的查找55AA确实太慢了,那么有没有办法快点呢?有,那就是先问问客户C盘大概有多大,大多数客户还是知道的,比如他说C盘大概有10个G,那么你就不要从头开始找了,因为那实在太慢了。10个G大概是2000万个扇区,那么你可以用转到扇区命令直接到1900万扇区,从那个地方再开始找不就省事多了。

用1435392减去63,得到1435329,再转为16进制,就是15E6C1,将他倒转过来就是C1E61500,这就是C盘的大小。这样,第一个分区表项填写完毕,我们保存一下,再接着填写第二个分区表项。

第二个分区表第1个字节:因为是非活动分区,所以写00第2、3、4字节,填写01 01 00(通用的)第5字节:因为是扩展分区,所以填写0F第6、7、8字节:填写FE FF FF(通用)第9、10、11、12字节是本分区之前已用了的扇区数,应该就是C盘大小加63,也就是1435392,前面刚计算出来的,转为十六进制数再反过来就是00 E7 15 00

第13、14、15、16字节是本分区的总扇区数,也就是扩展分区的总扇区数,也就是用整个硬盘的大小减去C盘的大小再减去63,即4124736-1435329-63=2689344,转为十六进制就是290940,反过来就是40092900。

这样,第二个分区表项就填写完了。

不要忘了把最后的结束标志55AA填上,这样,MBR就全恢复完了,最后,保存,再重新启动……启动完毕,迫不及待的打开我的电脑,发现三个分区全部又回来了,并且里面的数据完好无损。

再右击“我的电脑”,选“管理”

出现一个对话框,选“磁盘管理”,在右边可以看到磁盘一的三个分区(Fat32、Fat16、Ntfs)全部都回来了,至此,手工恢复分区表顺利完成。

手工恢复数据恢复成功率比较高,而且比较有趣味和挑战性,能找回许多傻瓜似的软件所找不回来的文件,但是要求工程师一定要有耐性,而且一定要保持清醒,清楚自己正在操作什么,操作完了会有什么后果,能不能退回到上一步状态。特别是对一些破坏性操作,一定要考虑周到,只要条件允许,就一定要在操作之前进行备份,否则会造成“血”的教训,切记!!!下面我们会说到手工恢复DBR、FAT(此教程被收录在付费教程中),这些比手工恢复分区表还要复杂,更需要大量的计算。再说完了使用Winhex手工恢复数据之后,我们会说到一些数据恢复软件,结合数据恢复软件会使数据恢复成功率大大提高,但有一些软件在扫描过程中会对原盘破坏数据,在使用中一定要谨慎!!!而且同一个软件,一个新手用和一个老手用数据恢复成功率绝对是不一样的,这些软件我们会免费赠送,绝对不会让你学习了资料却找不到软件的。FAT文件系统下的手工数据恢复案例关键词:数据恢复,数据恢复资料,数据恢复技术本文针对FAT分区。使用工具:winhex(非数据恢复专用)磁盘的具体存储原理,这里我解释一下:1、剩余扇区是什么:剩余扇区有分区内的剩余扇区和整个磁盘的剩余扇区。先说分区内的扇区:描述磁盘容量的单位是扇区,分区内部又是采用簇来管理的。通常情况下,扇区的容量是512b,簇的单位容量大于等于扇区的容量。以具体事例来讲,一个 7gb的fat32分区,其簇的大小是4k,相当于8个扇区,而分区内的存储单位是4k,分区的扇区总数如果不是8的倍数,那余下来的扇区便是剩余扇区了。整个磁盘的剩余扇区与上述原理相似,不同的是,每个分区的结束必须以254头,63扇为结束(也应该是老的磁盘管理模式留下的弊端吧!虽然分区内是以线性逻辑扇区为首要参数的)也就是说,如果磁盘的总容量正好分不净一个柱面的容量(1*254*63*512b=8193024b),那么,剩下的容量便是整个磁盘的剩余扇区了,其最大也就是大约7.8m。这也是通常情况下,分区的最小容量是7.8m,分区容量是8193024b倍数的原因。(简图并未画出整个磁盘的剩余扇区,大家理解吧!)2、对于fat32的保留扇区的数目,一般来说是32个,但也不肯定是,有时候可能会是38个或其他数目,当然也可以在dbr中的bpb(bios parameter block)参数表中更改,后面要讲到在数据恢复中了解他的重要性。(dbr的参数说明到数据恢复网 找找)3、在小容量的磁盘分区中也存在fat16的分区格式,原理吗?和软盘的存储原理相,见数据恢复网 “反黑行动之数据恢复”。下面我们进入实战:第一种情况,分区被格式化。如果格式化以后,当然可以用现成的数据恢复软件来恢复,但软件毕竟是软件,并不能应对多变的复杂的情况。而手工不同,如果对磁盘结构了解,是可以最大程度的恢复的。我们抛开数据恢复软件来看和通过手工来恢复被格式化的磁盘分区。对于fat格式的分区(包括fat16),format命令会重建dbr扇区,清空两个fat表,清空分区的第一个簇(存放原根目录)。不管是快速格式化还是完全格式化(快速格式化和完全格式化的区别在于他们是否对所涉及到的磁盘扇区进行检测扫描,清除上面的数据事都要做得)。对于dbr,分区只要正确格式化就会生成正确的dbr,故而重点是fat表和原根目录(如果原根目录大于一个簇,这仅仅是第一个簇,为了方便,以后就以原根目录称)的问题。如果你格式花前备份了此分区的fat表和根目录。那么,只要将dbr初始化,恢复fat表和根目录即可完全恢复数据。不过,既然是被格式化,那一定没有fat表和根目录的备份(废话!!!)。继续:先说根目录,跟目录的第一扇一但清空,别无法找回了。所以,格式化前存储在根目录的文件就会因其在第一扇存储的文件特征描述表丢失而很难找回了,除非你知道文件中包含的特征字符串,根据其在整个分区内查找,又确定文件的大小,而恰好要恢复的文件又是在磁盘内连续存储的。再说fat表,fat表的丢失对交叉存储的文件来说是几乎毁灭的灾难。原则上如果丢失,就只能恢复从文件第一簇开始的连续几簇了。但一般如要恢复的文件较小或分区并未经过频繁的文件删增的话, 还是有希望的。手动填写fat表是不现实的,我们只好先让原来的目录结构重现,再想办法。windows的磁盘文件格式是tree型的,格式化只是将tree的根折,在根折断以后,其实就象生成了多颗tree(想想数据结构)。如果我们要恢复的文件全部位于一个子目录当中。那好了,我们只要将这颗子树的树根放入原tree 的根位置上,即可生成一颗新树。推介使用winhex。下面以winhex为例具体而言。首先,若磁盘未格式化或格式化格式不太正确,先格式化,以生成可参照的dbr和fat表。接着我们在分区中寻找相关的字符串来确定此子树的“根”位置。,如记得原目录中有sjhfnet.txt的文件(选择其他目录没有或很少有此文件名的文件),可在整个分区内查找“sjhfnet txt”,再根据相关特征确定。这时候注意一下,我们需要目录中提供的“.”目录来推测原分区的一些特性,主要是dbr中的bpb参数,如保留扇区的数目。(一般是不不会错的,但如果有那怕一个扇区的出入,整个分区中目录的映射将不能套用,还是看看吧!),是不是要问,“.”目录是什么?学过dos的人都知道,目录“.”表当前所在目录,“..”表上级目录,在32个子节的目录项中,包含有和其他目录项相同的特征,我们关心目录的位置(在原分区格式的第几个簇中),他应该是等于他所在的簇号的!也就是看一下偏移量为15h 14h 1bh 1ah的数值是否等于现在簇号。在winhex中格式化后的磁盘可清楚的列出当前簇的簇号,可比较一下(可能需要16进制与10进制的转换)。相同不说了,如果不相同,也应该相差不多。计算一下相差的簇的数目,然后在本分区dbr扇区的0eh~0fh作相应增减,是保留扇区的数目回到原来的数目。重起一下计算机,是新的dbr生效,清空现fat表(根目录簇可以不清空,因后边讲到会覆盖的)。文件目录项的映射与实际地址便正确的结合了。(不明白吗?想想原理,努力消化一下)接着将找到的簇复制----〉定位到现在的根目录----〉写入。打开“资源管理器”,浏览,出来了吗?慢!还没完,现在的目录结构是出来了,但还不能访问,因为fat表所记录的簇还是空闲的。怎么办?手动写,算一下,可能写完得30年吧!呵呵!哪……其实,如果要恢复的文件大小都在1簇范围内,可在win98下运行磁盘扫描程序,在出现修复的提示时选相应的选象修复即可(别选“删除涉及到的文件”选项,另外,win2000下不行,扫描程序会直接删除文件的)。这样,大小在1簇范围的文件就完全恢复了(包括文件)。那如何在这种情况下恢复大于1个簇的文件呢?一是你可以写一个小的程序来实现涉及到的簇的连续。如果你不会,那么也不难,得一个一个文件的来。打开winhex,使用它的目录模板跳转到文件的存储区,从当前簇复制大小为文件大小的一块连续数据,写入新文件中(记得写在其他分区中),即可!当然,如果簇数较少,可直接在fat1中改动。另外,这样恢复的文件也不一定正确。要看当初文件的存储是否连续了?如果恢复后的文件不能用,那……听天由命吧!!!(要么你在磁盘中在查找,分析,自己把它连接起来。不过,工作量嘛……)这样恢复的是以前一个子目录的数据。如果有多个目录的数据要恢复,可用同样的方法替换根目录(第一个数据簇),也可以采用手动建立根目录的方法,不过,别在资源管理器中进行,手动在winhex中做吧!还有,要是恢复的目录中有多个簇,再用同样的方法,查找,作为根目录。这是分区格式为fat32的情况,如fat16则不需考虑保留扇区的数目情况,fat16无保留扇区。这是有目录项的情况。再来说一下在无目录项参照的情况:以下默认为欲恢复文件是存储在FAT32文件格式当中的文件。假如你的磁盘已经被xxx破坏的一塌糊涂。或者已经经过了N位高手二次处理“加工”过了,什么工具软件都用过了!结果仍然没有看到你需要的数据的影子。或者你要恢复的数据本来就很少(若干源代码,或是若干论文,若干小的数据库,或是确认在数据丢失前正好做了磁盘碎片整理),不值得采用我上面采用的方法。你可以采用在磁盘内通过查找的方法,总结来找回数据(不要笑,有技巧的,况且,也许这是唯一的方法!)可以通过磁盘文件的存储特征和文件固有的类型特征来考虑。看过《反黑行动之数据恢复》(风般的男人著)应该可以知道,文件在磁盘内至少是以扇区为单位的,也就是说,每个文件在磁盘内实际存储的开始,一定是某扇区的开始。这是其一,其二是每种类型的文件都有其特定的文件标志,可根据文件的特定标志(通常还是在文件的开头)与其在磁盘的位置来圈定。如果是文本文件,可通过在磁盘内查找特征字串的方法来找到。不过,稍有知识的人是都知道的,不说了。(还是使用winhex吧!硬盘速度可以的话,应该查找1G的空间不超过1分钟)我们来通过具体的例子看一看已加密或无明显特征字串的情况(这是最通常的情况)。以一Office文档的恢复为例。Office文档的实际构成总是以“00000000 D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00 邢.唷??.......”开头,以下列二进制特征为尾:---------------------------------------------------------------------------------00148940 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF00148950 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF00148960 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF00148970 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF00148980 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF00148990 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF001489A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF001489B0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF001489C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF001489D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF001489E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF001489F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF00148A00 01 00 FE FF 03 0A 00 00 FF FF FF FF 06 09 02 00 ..?....????....00148A10 00 00 00 00 C0 00 00 00 00 00 00 46 18 00 00 00 ....?.....F....00148A20 4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64 20 44 Microsoft Word D00148A30 6F 63 75 6D 65 6E 74 00 0A 00 00 00 4D 53 57 6F ocument.....MSWo00148A40 72 64 44 6F 63 00 10 00 00 00 57 6F 72 64 2E 44 rdDoc.....Word.D00148A50 6F 63 75 6D 65 6E 74 2E 38 00 F4 39 B2 71 00 00 ocument.8.?瞦..---------------------------------------------------------------------------------(这是在winhex中显示的情况,此部分内容是最后扇区的中间部分的内容#既然文件头尾标志已确定,即可在磁盘中搜索了。可搜索所有的“D0 CF 11 E0 A1 B1 1A E1 ”,保存其位置。在搜索特定的尾标志,保存其位置。观看在winhex“位置管理器”中的所保存位置。删除位置不是以"000H","002H", "004H","006H","008H"结尾的文件头标志(因为扇区容量512B=200HB)。删除不合位置特征的尾标志(通过对200H取余的结果看)。再删除多出来的头或尾标志。(应该成对出现)此例以Word 2000文档为例。通常情况下,word文档的大小不可能太大。在winhex的位置管理器当中,所有的位置是以地址来排序的。所以,看一下成对的头尾标志其偏移是否合逻辑。如不合,删了!那么,剩下来的便是最有可能的了。剩下的,不用说了吧!将每一对头尾地址之间的数据保存即可。(成不成功看命吧!)这是以Office文件为例说明。其实大多数文件都有特征标志,可参看相关资料或自己研究。对于没有特定尾标志的文件,它的结构也有特征,结合头标志和结构看吧!(不过可能稍难点!)还有,恢复的文件当中可能有你删除了的文件,没有办法。只好一视同仁了。不过一般情况下,已删除文件的开头是最先被系统的其他文件覆盖的,可能也能降低工作量吧!WinHex使用方法详解WinHex是由X-Ways软件技术公司(官方网站http://www.x-ways.net)开发的一款专业的磁盘编辑工具,该工具文如其名,是在Windows下运行的十六进制(hex)编辑软件,能够支持Windows XP、Windows 2003、Windows 7、Windows 8等操作系统。该软件功能非常强大,有着完善的分区管理功能和文件管理功能,能自动分析分区表链和文件簇链,并能以不同的方式进行不同程度的备份,直至克隆整个硬盘。作为一款磁盘编辑软件,具有所有编辑软件所具有的通用功能如查找、替换等,它能够完整地显示和编辑任何一种文件类型的二进制内容(用十六进制方式显示),其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任一扇区,内存编辑器可以直接编辑内存,是非常好用的一款磁盘编辑软件。本书以WinHex15中文版为例介绍WinHex的用法。因为该软件原版为英文版,中文版都是汉化过来的,汉化中某些词条的翻译不一定很精确,所以英文好的读者还是尽量使用英文版。WinHex“启动中心”对话框启动WinHex后首先弹出“启动中心”对话框,如图3-1所示。

图3-1 WinHex“启动中心”对话框可以在“启动中心”对话框选择所要打开的项目,包括“打开文件”、“打开磁盘”、“打开RAM(内存)”和“打开文件夹”,也可以直接从“最近打开的数据”中选择所要打开的项目。左边是“方案”和“脚本”选项,“方案”为用户有选择地保留操作成果提供便利条件;“脚本”是一个批处理脚本编辑系统,可以调用WinHex已经开发并集成的各种函数指令进行编程工作。在“启动中心”对话框中的四个选项中,“打开磁盘”是数据恢复中最常用的一项,选择“打开磁盘”后出现如图3-2所示的对话框。

图3-2 “编辑 磁盘”选择界面这里可以选择打开“逻辑驱动器”,也可以选择打开“物理驱动器”。选择打开“物理驱动器”后弹出WinHex的主窗口界面,如图3-3所示。

图3-3 WinHex主窗口对WinHex主窗口中各个区域定义如下:①详细资源面板;②偏移量的纵坐标;③偏移量的横坐标;④菜单栏;⑤工具栏;⑥十六进制数据编辑区;⑦文本区;⑧底边栏。WinHex主窗口介绍详细资源面板WinHex主窗口的左边是“详细资源面板”,分为6个部分:硬盘参数、状态、容量、当前位置、窗口情况和剪贴板情况。①硬盘参数。包括硬盘的型号、序列号、固件版本号和接口类型。②状态。状态为“原始的”。如果对内容进行过修改,这里就会显示“被修改”。此外还有撤销级别(0)、反向撤销(由“n/a”→“键盘输入”)。③容量。包括总容量,112GB/120 033 041 920字节,每扇区512字节,放弃尾部扇区2990(这里指因为分区粒度的原因导致硬盘最后一个分区之后剩余的扇区)。④当前位置。包括当前位置之前的分区数、有关的扇区号。⑤窗口情况。包括当前窗口号、窗口数、模式、字符集设置、偏移地址、每一页的字节数。⑥剪贴板情况。包括剪贴板状态、临时文件夹可用大小(主要取决于所在分区的空闲空间)。这些参数对把握整个硬盘的情况非常有帮助,其属性值随打开内容的不同而变化。另外,在其上单击鼠标右键,可将“详细资源面板”与编辑窗口对换位置,或关闭“详细资源面板”。“访问”功能菜单编辑窗口的右上角有一个向下的三角形,这就是“访问”功能菜单,如图3-4所示。

图3-4 WinHex“访问”功能菜单“访问”功能菜单是恢复分区的最好工具,它把每一个分区按照顺序排成一串。如果分区表有问题,该处也会有一定的反映,而且通过这个菜单可以直接查看分区文件系统类型、打开各个分区、直接转移到各个分区的分区表、开始扇区等,并都有相应模板,可以非常直观地显示分区和启动扇区参数,而且可直接在模板上修改、创建备份。对于每个区域,软件都提供有右键弹出菜单。如在编辑区单击鼠标右键,会弹出定义选块和编辑菜单,如图3-5所示。

图3-5 WinHex编辑区的弹出菜单WinHex的偏移量(Offset)偏移量(Offset)是指某个地址相对于一个指定的起始地址所发生的位移,也就是“距离”。WinHex的偏移量由横坐标和纵坐标构成,用来具体定位十六进制数据编辑区中每个字节的地址。偏移量的横坐标和纵坐标中的数值默认为十六进制,如果需要改成十进制,只需在纵坐标处的任意位置单击鼠标左键即可。WinHex的十六进制数据编辑区当用WinHex打开一个编辑目标时,编辑目标中存储的所有数据都会以十六进制的形式显示在WinHex的十六进制数据编辑区。编辑区的右侧有滚动条,可以上下拖动,这样就可以方便地查看和编辑这些数据了。文本区文本区的作用是将十六进制数据编辑区中的数据按照一定的编码解释为相应的字符。这里的编码种类是可以在菜单中选择的,这个在后面讲解。底边栏主窗口的最下边一栏是一些非常有用的辅助信息,图3-3左下角的“0/234439535”是指当前的逻辑扇区号/总扇区数。“偏移地址”是光标在十六进制数据编辑区中停留处所在字节的偏移地址,后面等号处的数值是该光标处十六进制字节的十进制值。“选块”后的数据是指在十六进制数据编辑区中所选择的一片数据的起始偏移地址和结束偏移地址;“大小”后的数据是选择的数据块中包含的字节数。这些区域也都有相应的快捷方式,如单击扇区/总扇区区域的任一地方,都会弹出“跳至扇区”对话框,如图3-6所示。

图3-6 WinHex“跳至扇区”对话框单击“偏移地址”区域,会弹出“转到偏移量”对话框,如图3-7所示。

图3-7 WinHex“转到偏移量”对话框单击“选块”区域会弹出“定义选块”对话框,如图3-8所示。

图3-8 WinHex“定义选块”对话框WinHex工具栏介绍WinHex工具栏中排列的都是WinHex最常用的一些功能,这些功能也是WinHex的使用基础,我们用大写字母A~Y对应给每一个功能编号,进行一一讲解,如图3-9所示。

图3-9 WinHex的工具栏A.“新建”。单击“新建”图标,出现“建立新文件”对话框,如图3-10所示。

图3-10 “建立新文件”对话框对话框中提示输入要创建文件的大小,单位可以是字节、KB、MB、GB。如输入512Bytes,单击“OK”按钮就创建了一个以“未命名”为文件名、大小为512个零值字的文件。此时就可以为这些零字节赋予有意义的值,然后另存为文件。B.打开。单击“打开”图标,出现一个文件选择对话框,如图3-11所示。

图3-11 文件选择对话框这时可以选择一个任意文件,然后单击右下角的“打开”按钮,便可以浏览该文件的十六进制编码。打开文件后就可以进行各种修改、查找、替换及销毁工作了。需要注意的是,普通文件被打开后将不再按照扇区的结构进行显示,而是采用“页面”方式,就无法看到原本扇区之间的分割线。单个页面没有固定大小,纯粹是显示单位。如果打开的是一个原始磁盘镜像文件,按页面浏览就会产生诸多不便,会让分析、定位扇区及解释文件系统等常规工作无法完成,这时就需要将此文件强制按照每512字节/扇区进行处理,WinHex的介质管理器就会视此文件为一个标准磁盘,从而激活许多针对磁盘操作的特殊功能。该功能在菜单栏的“专业工具”→“将镜像文件转换为磁盘”这个选项中,如图3-12所示。

图3-12 将镜像文件转换为磁盘C.保存。在WinHex的默认编辑模式,数据修改后不是直接存盘,而是写入临时文件中,编辑好后如果需要存盘,就单击一下“保存”图标即可。WinHex的编辑模式有三种,分别为只读模式、默认编辑模式、替换模式:在只读模式下不能修改只能查看;在替换模式下,所有的修改即时写入立即生效。编辑模式可以在菜单栏的“选项”→“编辑模式”这个选项中设置,如图3-13所示。

图3-13 编辑模式菜单打开编辑模式菜单后出现如图3-14所示的选框。

图3-14 编辑模式选框选中需要的模式后单击“确定”按钮即可生效。D.文件属性。该功能可以显示指定文件的基本属性,如文件字节大小、创建时间、最后写入时间、最后访问时间等,打开后如图3-15所示。

图3-15 “文件属性”信息框E.打开文件夹。这是WinHex的特色功能之一,可以对某一文件夹内某类型的文件进行批量展开,以方便后续的同步、对比、批量修改等工作。打开此功能后出现如图3-16所示的对话框。

图3-16 “打开文件夹”对话框F.撤销。该功能比较好理解,当我们做了某些错误的修改,想更正回来,就可以用到,这与Word软件中的撤销是一个意思,但是已经保存的修改就不能撤销了。G.复制扇区。该功能是最常用到的选项之一。在数据恢复工作中往往需要选定一定的字节并复制到合适的地方。例如,需要把6号扇区的内容复制到0号扇区,可以先把6号扇区的全部字节选中,选中的方法可以采用拖动鼠标的方式选中整个扇区的字节,也可以采用定义“选块开始”和“选块结尾”的方式选中整个扇区的字节,选中后单击“复制扇区”图标,就可以把选中的信息存入剪贴板中了,以备随后的操作使用这些信息。H.写入剪贴板。这是指将已经复制到剪贴板中的数据写入目标位置。例如,刚才把6号扇区的全部字节选中后,返回到0号扇区,光标放在该扇区第一个字节处,单击鼠标“写入剪贴板”图标,就可以把6号扇区的信息写入0号扇区了。I.修改数据。该功能可以改变数据的排列规律,打开此功能后出现如图3-17所示的对话框。

图3-17 WinHex“修改数据”对话框“修改数据”功能应用到了逻辑数学的许多知识,具体功能有给单个或批量字节做指定加数(整数,可以是正负值或是16进制数值)的加法、给单个或批量字节做反转位(0~255元素集合内的补码运算)、16位字节交换(每两个字节左右交换位置)、32位字节交换(每四个字节左右交换位置)、XOR运算、OR运算、AND运算、循环左移一位运算、循环右移一位运算、位移运算、ROT13运算和左旋圆运算。J.查找文本。该功能的主要作用就是搜索、定位操作对象中存在的特定字符串。很多文件系统中的特殊结构及大多数文件,如Office文档、数据库文件等,都是以某种字符串作为起始的,此时只要查找这些字符串就可以在字节的海洋中轻易找到我们需要的结构。打开“查找文本”出现如图3-18所示的对话框。

图3-18 “查找文本”对话框在对话框的最上方是一个文本填写框,用来输入想要搜索的字符。下方都是为搜索任务量身定做的各种条件,用户可以选择搜索目标大小写的匹配要求、两大字符编码(ASCII和UNICODE)类型,可以在搜索表达式中加入一个通配符,可以要求完整语句搜索,可以选择搜索方向或全局搜索,可以在指定范围内为搜索对象确定方位(偏移计算)、可以选择只在选块中搜索,可以在所有打开的窗口中进行搜索,可以给出并保存搜索列表。其中“条件:偏移计算”这个设置很重要。这里设定得越精确,在搜索中效率越高。这个设置中有两个表框需要我们填写,第一个表框的含义是搜索单元包含的字节数(十进制),第二个表框的含义是搜索的目标字符在搜索单元中的起始偏移量。例如,在一个硬盘某个扇区的前四个字节处有“file”这四个ASCII的字符,但我们不知道它在哪个扇区,需要去搜索,那么我们把“file”这四个ASCII的字符填入文本填写框,“条件:偏移计算”的第一个表框填写“512”,因为我们需要以扇区为单位搜索,而每个扇区的字节数为512;第二个表框填写“0”,因为搜索目标“file”这四个ASCII的字符开始于扇区的第一个字节处。K.查找十六进制数值。这与“查找文本”用法非常相似,打开后界面如图3-19所示。

图3-19 “查找十六进制数值”对话框L.同步搜索。该功能可以实现多字符串的同时搜索,也就是说它可以同时完成多个搜索任务,打开后界面如图3-20所示。

图3-20 “同步搜索”对话框同步搜索的对象目前仅限于文本,文本框用来输入字符串。这里对格式有一定要求,如果要进行多任务搜索,每个任务必须占用独立的一行。此外还可以从外部导入文本文件来定义搜索内容。M.转到偏移量。这是一个用来定位的跳转工具,用法非常灵活,打开后界面如图3-21所示。

图3-21 WinHex“转到偏移量”对话框最上面“新位置”表框填入想跳转的目标位置偏移值,这个值可以是十六进制,也可以是十进制,这里进制的选择跟主窗口的偏移量所用进制保持一致。另外,这个值的单位可以选择字节、字、双字、扇区。跳转的目标位置可以选择四个起始点,分别为从最开始处、从光标当前所在位置往后跳转、从光标当前所在位置往前跳转、从结尾处往前跳转。N.跳至扇区。该功能的使用可谓是最多的,打开后界面如图3-22所示。

图3-22 “跳至扇区”对话框该功能用于绝对扇区号的跳转,其中的“逻辑扇区”是指LBA地址的扇区号,“物理”则指C/H/S地址。O.向前。指让光标回到上一步的操作位置处。P.向后。指让光标回到后一步的操作位置处。Q.打开磁盘。该功能在WinHex中使用也很多,打开后界面如图3-23所示。

图3-23 打开磁盘对话框对话框中可以根据需求选择需要编辑的逻辑磁盘或者物理磁盘。R.磁盘克隆。该工具可以很方便地将一块硬盘或一个分区克隆到另一个硬盘上或做成镜像文件,如图3-24所示。

图3-24 “磁盘克隆”对话框对话框中的来源和目标可以是硬盘、分区或者文件,可以根据实际情况进行选择。克隆时还能够选择完整复制或者自定义扇区进行复制。另外,如果介质中有坏扇区,可以选择跳过的数目,还能定义坏扇区所对应的目标盘中填入的信息值。S.打开RAM。该功能也就是打开内存,如图3-25所示。

图3-25 打开RAM对话框这是一个很强大的功能,它可以对计算机系统当前正在运行的进程进行查看和编辑。T.计算器。该功能是直接调用操作系统下的计算器工具来进行计算。U.常规设置。在该选项中可以进行很多基本的设置,如图3-26所示,其含义很明确,这里就不再详细介绍。

图3-26 “常规设置”对话框V.减小一列。该功能是把主窗口界面偏移量的横坐标减少一列数值。W.增大一列。该功能是把主窗口界面偏移量的横坐标增加一列数值。X.“进行磁盘快照”。磁盘快照是指对整个文件系统做一次完整遍历,从而能够像资源管理器一样列出分区下的目录及文件。WinHex做完磁盘快照的结果如图3-27所示。

图3-27 磁盘快照的结果Y.目录浏览器。“目录浏览器”是对“磁盘快照”后所列目录的设置,打开“目录浏览器”功能后的界面如图3-28所示。

图3-28 “目录浏览器及过滤设置”界面WinHex菜单栏介绍WinHex菜单栏介绍中的大多常用功能都集中在工具栏中了,这里再补充几个比较重要而工具栏中没有的功能。“查看”菜单“查看”菜单中几个比较重要的功能如图3-29所示。

图3-29 “查看”菜单①仅显示文本。当选中该功能时,WinHex将隐藏主窗口的十六进制数据编辑区,而只显示文本区,如图3-30所示。

图3-30 “仅显示文本”视图该功能在字符串查看和识别、编辑、编码转换工作时可以有效排除十六进制数值带来的干扰,更加一目了然。②仅显示十六进制。当选中该功能时,WinHex将隐藏主窗口的文本区,而只显示十六进制数据编辑区,如图3-31所示。

图3-31 “仅显示十六进制”视图在分析十六进制数值时选中该功能可以减少文本带来的干扰。③模板管理器。这是WinHex中对数据恢复工作最有帮助的功能之一,其中提供了对分区表、文件系统中的DBR、目录项、文件记录、超级块等重要结构的解释,非常好用。打开“模板管理器”后出现如图3-32所示的对话框。

图3-32 “模板管理器”视图“模板管理器”中各个模板的使用方法将在本书的后面章节详细讲解。④同步窗口。该功能可以让多个窗口在主窗口中同时显示,如图3-33所示。

图3-33 “同步窗口”视图“同步窗口”后,拖动某一窗口的滚动条,所有窗口都同步滚动。⑤同步和比较。该功能在“同步窗口”的基础之上增加了对比功能,可以让多个窗口在主窗口中同时显示并且标示出有差异的字节,如图3-34所示。

图3-34 “同步和比较”视图“同步和比较”功能在对比分析时非常有用,尤其是在分析RAID时更加有效。“专业工具”菜单“专业工具”菜单中几个比较重要的功能如图3-35所示。

图3-35 “专业工具”菜单①重组RAID。该功能在恢复RAID数据时非常有用,支持RAID-0和五种RAID-5结构,打开后如图3-36所示。“重组RAID”功能也将在后面的章节详细讲解。

图3-36 “重组RAID”视图②收集空余空间信息。该功能是将分区中未被使用的扇区收集起来,执行后WinHex将自动开始分析和收集,如图3-37所示。

图3-37 “收集空余空间信息”视图分析完毕后,WinHex会将分析的结果保存为文件。③收集残余空间信息。“残余空间”是指文件分配的簇中没有用完的字节,“收集残余空间信息”就是把分区中的这些字节收集起来。执行该功能后将有两个选项需要设置,如图3-38和图3-39所示。

图3-38 “收集残余空间信息”的设置1图3-39 “收集残余空间信息”的设置2设置完后WinHex将自动开始在每个簇中分析和收集,如图3-40所示。

图3-40 “收集残余空间信息”视图“收集残余空间信息”功能在电子取证中比较多用。④高亮显示空余空间。该功能是指把分区中未使用的扇区用更加明亮的方式显示出来,如图3-41所示。

图3-41 高亮显示空余空间图3-41中上半部分是正在使用的空间,下半部分比较明亮的是空余空间。提示“高亮显示空余空间”功能必须在对分区做完“磁盘快照”后才能生效。⑤高亮显示残余空间。该功能是指把分区中每个簇里未使用的字节用更加明亮的方式显示出来,如图3-42所示。

图3-42 高亮显示残余空间图3-42中下半部分是正在使用的空间,上半部分比较明亮的是残余空间。提示“高亮显示残余空间”功能必须在对分区做完“磁盘快照”后才能生效。WinHex的“数据解释器”数据解释器是WinHex中非常重要的功能模块,它可以解析多种编码并且进行运算,同时也能对时间进行解释。“数据解释器”功能在“查看”菜单中,如图3-43所示。

图3-43 “查看”菜单只要选择“数据解释器”,就会在WinHex主窗口界面出现“数据解释器”的工具框,如图3-44所示。

图3-44 “数据解释器”工具框“数据解释器”最常用的功能有两种,一是把十六进制数值换算为十进制数值,二是把时间的十六进制代码解释为标准的时间表示形式。在使用“数据解释器”时需要注意,不管是对数值还是时间进行解释,都必须把光标放在该字段的第一个字节处,也就是最前面,然后去查看解释器中的结果即可。另外,在解释数值时,注意数值的存储有Little-endian和Big-endian之分,这两种字节序在前面的章节中讲解过,并且数值还有无符号和带符号之分,这些都需要特别留意。有关“数据解释器”的设置在“选项”菜单中,如图3-45所示。

图3-45 “选项”菜单单击“数据解释器”选项后,出现设置界面,如图3-46所示。

图3-46 WinHex“数据解释器选项”设置界面在该界面中根据需要选中相应的选项即可。

(0)

相关推荐