180 likes | 313 Views
硬盘数据安全和数据恢复. 如何寻找到数据. 硬盘启动时首先由 BIOS 读入 MBR 的内容,以确定各个逻辑驱动器及其起始参数,然后调入活动分区的 DBR ,将控制权交给 DBR ,由 DBR 来引导系统。系统文件调入后,计算机系统就完全处于操作系统的控制下,尤其是 windows xp, 对系统资源统一调配,在它们的控制下,要想绕过它们直接访问硬件,几乎是不可能的,这与 windows 95/98/me 有着本质的区别。. 此外, DBR 中除了引导程序部分,还有一个很重要的 BPB 表,操作系统依靠 BPB 表中记录的一些系统参数来管理文件系统。.
E N D
硬盘数据安全和数据恢复 如何寻找到数据
硬盘启动时首先由BIOS读入MBR的内容,以确定各个逻辑驱动器及其起始参数,然后调入活动分区的DBR,将控制权交给DBR,由DBR来引导系统。系统文件调入后,计算机系统就完全处于操作系统的控制下,尤其是windows xp,对系统资源统一调配,在它们的控制下,要想绕过它们直接访问硬件,几乎是不可能的,这与windows 95/98/me有着本质的区别。 此外,DBR中除了引导程序部分,还有一个很重要的BPB表,操作系统依靠BPB表中记录的一些系统参数来管理文件系统。 由MBR(包括虚拟MBR,不再强调说明)至DBR的交接如上面所说,DBR中记录着保留扇区、FAT和FDT,由这些参数就可以确定各个区的入口。在FDT中,记录着根目录下文件或子目录的参数,根据这些参数,可确定文件或目录在DATA中的首簇和FAT中簇链的起始点,然后由FAT中的簇链来跟踪文件或子目录在DATA区中的位置,直至文件或目录结束,从而找到整个文件或目录在磁盘上的存储情况。其中,文件在FAT中的登记既有从前至后,也有从后转至前,以及交叉记录等情况,这和系统在写入文件时找到空闲簇的顺序有关。 在实际使用中,系统就是这样来管理文件和目录。DATA区是一个很特殊的区域,它只有起始点和结束点,区域本身和文件或目录却没有任何关系。它只是记录数据,至于这些数据之间的关系,由FDT和FAT来解释。所以,FDT和FAT对DATA非常重要。如果FDT和FAT遭到破坏,就无法解释DATA区域中数据的实际含义。至于如何解释它们,这正是文件系统的职责。 这一节课将从MBR开始,详细介绍如何经过DBR、FDT、FAT,最后寻找到一个具体的文件在DATA中的位置。
逻辑磁盘中系统对文件的管理链 确定首簇位置和FAT中簇链起点 MBR DBR 保留扇区 FAT1 FAT2 FDT DATA 剩余扇区 定位起始扇区 利用WinHex寻找硬盘数据
WinHex简介 WinHex是目前使用最多的一款工具软件之一。该软件是Windows下的十六进制(hex)编辑软件。该软件功能非常强大,有着完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,并能以不同的方式进行不同程度的备份,直到克隆整个硬盘。作为一款编辑软件,具有所有编辑软件具有的通用功能,如查找、替换等,同时,它与一般的文本编辑软件又有着本质区别。它能够完整地显示和编辑任何一种文件类型的二进制内容(用十六进制方式显示),其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任一扇区,内存编辑器可以直接编辑内存! WinHex主界面 打开一个物理硬盘后,软件的显示如上图所示。最上面的是菜单栏和工具栏,下面最大的窗口是工作区,磁盘内容以十六进制方式进行显示,并在右边显示相应的ASCII码,当然也可以只显示十六进制或只显示ASCII码。
下面按顺序介绍WinHex的菜单系统。 首先是“文件”菜单,分为6个区域,分别对应文件、备份、执行、文件夹、退出和最近打开6个类别。 第二个菜单是“编辑”菜单,包括对操作的还原、剪切、复制块、剪切板数据、移去、粘贴零字节、定义块、全选、清除块、转换、清除数据和填充块等选项。其块操作对于一次更换较多的数据非常方便。例如,清空虚拟MBR分区表前的数据、用备份扇区覆盖引导记录,对扇区进行备份等。 第三个菜单是“搜索”菜单,具有非常方便的查找/替换工具,既可以查找/替换文字字符,也可以查找/替换十六进制数值,并有多种条件设置,包括大小写、Unicode字符设置、通配符设置、完整字设置、查找/替换范围和方向、特定偏移位置设置、块内查找/替换,所有打开文档内查找/替换等。在磁盘有问题时,可以设置忽略读取错误,甚至连续查找/替换。 第四个菜单是“位置”菜单。该菜单是修复硬盘时使用最多的菜单之一,通过它可以快速到达任何一个位置,包括通过偏移量、页、文件、标记等进行转移、移动块、处理标记等,并记录多次操作位置,通过类似于IE中的前进、后退方式快速到达曾经访问过的位置,对于做过多次修改的文件来说非常实用,无须记录在什么位置做过修改,只需用后退键就可以迅速到达上次修改的位置,还可以专门使用位置管理器对各种位置进行管理。 第五个菜单是“查看”菜单。通过此菜单可以选择只显示十六进制或只显示ASCII码字符,显示记录,显示模板管理器、显示表格,显示行列数量管理,多窗口的同步与比较、刷新等。 第六个菜单是“工具”菜单,其下有很多实用工具。第七个菜单是“选项”菜单。
WinHex的菜单 文件菜单 编辑菜单 搜索菜单 位置菜单
WinHex的菜单 工具菜单 查看菜单 搜索菜单 位置菜单
WinHex主界面右边是“详细资源面板”,分为5个部份:状态、容量、当前的位置、窗口情况和剪贴板情况。状态包括:当前资料属主(硬盘1),状态(“原始的”,如果对内容进行过修改,这里就会显示“被修改”),还原层次(0),相反的还原(由“n/a””键盘输入“);容量包括:全部容量,柱面数,磁头数,每一磁道的扇区数;当前位置包括:柱面号/磁头号/扇区号,当前位置之前的分区数,有关的扇区号;窗口情况包括当前窗口号、窗口数、模式、字符集设置、偏移量、每一页的字节数;剪贴板情况包括剪贴板状态、临时文件夹可用大小。这些参数对于把握整个硬盘的情况非常有帮助,其属性值随打开内容的不同而变化。WinHex主界面右边是“详细资源面板”,分为5个部份:状态、容量、当前的位置、窗口情况和剪贴板情况。状态包括:当前资料属主(硬盘1),状态(“原始的”,如果对内容进行过修改,这里就会显示“被修改”),还原层次(0),相反的还原(由“n/a””键盘输入“);容量包括:全部容量,柱面数,磁头数,每一磁道的扇区数;当前位置包括:柱面号/磁头号/扇区号,当前位置之前的分区数,有关的扇区号;窗口情况包括当前窗口号、窗口数、模式、字符集设置、偏移量、每一页的字节数;剪贴板情况包括剪贴板状态、临时文件夹可用大小。这些参数对于把握整个硬盘的情况非常有帮助,其属性值随打开内容的不同而变化。 WinHex主界面编辑窗口右上角的”存取“功能菜单,是恢复分区的最好工具。它把每一个分区按照顺序排成一串,如果分区表(MBR和虚拟MBR)有问题,该处就只能显示出现问题之前的分区情况,而且通过这个菜单可以直接查看分区文件系统类型,打开各个分区,直接转移到各个分区的分区表、启动扇区等。并都有相应模板,可以非常直观地显示分区和启动扇区参数,并可直接在模板上修改,创建备份。
利用WinHex寻找硬盘数据 在D盘上建立一个文件,如data.txt,输入一些东西,我们的任务就是从MBR开始,在硬盘中找到data.txt的内容 运行WinHex,在”工具“菜单中选择”磁盘管理器“ 系统默认显示MBR区,在”查看“菜单中选择”模板管理器“ 打开物理磁盘
利用WinHex寻找硬盘数据 选择”主引导记录“,即MBR 查看MBR各字段的含义
利用WinHex寻找硬盘数据 选择”位置“菜单”转到扇区” 填上要转到的扇区号 扩展分区里含有两个分区,我们只看第一个分区表项,这里开始H/S/C为1/1/609 由于这是扩展分区,所以这里转到的是一个虚拟MBR,利用模板管理器“主引导记录”进行分析
利用WinHex寻找硬盘数据 利用模板管理器中“FAT32引导扇区”(即DBR)进行分析 转到扇区H/S/C=1/1/609 对DBR进行分析
利用WinHex寻找硬盘数据 确定首簇位置和FAT中簇链起点 MBR DBR 保留扇区 FAT1 FAT2 FDT DATA 剩余扇区 定位起始扇区 逻辑磁盘中系统对文件的管理链 1、根据DBR表中的数据可知DBR所在扇区为:9783648扇区 2、FAT表所在扇区=DBR所在扇区+保留扇区个数=9783648+32=9783680 3、在FAT32分区中,FDT表并入DATA中,所以直接计算DATA所在扇区 = DBR所在扇区+保留扇区+FAT表占扇区数*2 = 9783648+32+5468*2= 9794616 4、FDT表所在的扇区 =DBR所在扇区+保留扇区+FAT表占扇区数*2+(根目录第1簇-2)*8 =9783648+32+5468*2+(338-2)*8=9797304
利用WinHex寻找硬盘数据 FAT表第1扇区 DATA区中的FDT 文件名 起始簇号
利用WinHex寻找硬盘数据 1、文件的起始簇号是相对于DATA区为开始第一簇算起的,上例中为05 4E 9C。 2、如果文件的大小大于1簇(8个扇区,共4K),那么就要在FAT表中寻找下一个簇号。 3、data.txt文件在硬盘中的扇区=DATA区所在扇区+(起始簇号-2)*8 = 9794616+(347804-2)*8=12577032 在Windows中建立的data.txt文件内容 在硬盘的DATA区中真实的存储形式
利用WinHex寻找硬盘数据 如果文件的大小大于1簇,那么就要通过FAT表查找下1簇所在的位置,如上例所示,查找下一个簇的方法是这样的: 1、因为FAT表中每个簇占用4个字节,所以第347804簇对应的偏移地址为:347804*4=1391216。 2、计算出真实的偏移地址:12ABDB800+153A70=12AD2F270 表示文件的结尾