winHex数据恢复(第一篇)

WinHex在我们之前的文章中已经介绍过,是在Windows下运行的十六进制编辑软件,有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,对硬盘进行不同方式不同成度的备份、克隆整个硬盘,能够编辑任何一种文件类型的二进制内容(用十六进制显示),其磁盘编辑器可以编辑物理磁盘或者逻辑磁盘的任意扇区,是手工恢复数据的首选工具软件。

基础知识

硬盘寻址方式

硬盘的常用寻址方式有CHS寻址和LBA寻址,早期的硬盘容量非常小,硬盘的每条磁道都具有相同的扇区数,早期常采用CHS寻址(Cylinder柱面、Header磁头、Sector扇区),随着硬盘容量的增大,不再划分柱面和磁头号,这些数据都由硬盘自身保留,所有的物理扇区都按照特定规则进行线性编号,目前普遍采用LBA这种抽象简单的寻址方式。

硬盘分区结构

所有硬盘在使用之前都需要进行分区,硬盘分区是针对一个硬盘进行操作的,可以分为主分区、扩展分区、逻辑分区,主分区也叫引导分区,系统一般安装在这个分区,是引导电脑开机读取文件的一个磁盘分区,一个硬盘最多可以同时创建4个主分区。扩展分区是一个概念,实际是看不到而且无法直接使用的,一般将除了主分区外的剩余磁盘空间叫做扩展分区,扩展分区可以继续被分为多个逻辑分区,具体结构如下图所示。
在这里插入图片描述

磁盘按照分区结构不同,一般分为MBR、EBR和GPT,分区后硬盘的第1个扇区为MBR(Master Boot Record)扇区,占512b,该扇区在计算机引导过程中起着举足轻重的作用,包括硬盘主引导程序代码(占446b)、硬盘分区表(占64b)和引导区结束标志“55AA”(占2b)3个部分。MBR的64b分区表最多可存储4个分区信息,每一个分区信息占16b,其具体结构如下图所示,DBR是由硬盘MBR装载的程序段,分区引导扇区DBR中包含文件系统扇区总数等数据,对于数据恢复有较大帮助。
在这里插入图片描述

由于MBR支持最多创建4个分区在实际情况下往往是不够用的,因此就引入了扩展分区的概念,扩展分区严格地讲并不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,扩展分区的数据存储在一个类似MBR的EBR(Extended Boot Record)中,每个EBR占一个扇区(512b),EBR的第一个分区表用于描述一个逻辑分区,第二个分区表用于指向下一个EBR,其具体结构如下图所示。
在这里插入图片描述

GPT磁盘分区的结构如下图所示,其包含保护MBR、GPT头、分区表、分区区域、分区表备份、GPT头备份六部分,其中保护MBR位于GPT磁盘的第一个扇区,由磁盘签名、MBR磁盘分区表和结束标志组成。GPT头位于GPT磁盘的第二个扇区,会定义分区表的起始位置、结束位置、每个分区表项的大小和个数等信息。分区表位于GPT磁盘的2~33号扇区,能够容纳128个分区表,GPT分区区域通常起始于34号扇区,由EFI系统分区(ESP)、微软保留分区(MSR)、LDM元数据分区、LDM数据分区、OEM分区、主分区等多个部分组成。分区表备份是对分区表32个扇区的完整备份,GPT头备份位于GPT磁盘的最后一个扇区,但GPT头备份并不是GPT头的简单复制,两者结构虽然一样,但其中的参数却有所不同。
在这里插入图片描述

GPT相对于MBR的优势主要体现在其允许每个磁盘多达128个分区,支持高达18EB的卷大小,GPT允许将主磁盘分区表和备份磁盘分区表用于冗余,且性能相对MBR更加稳定。

利用WinHex恢复

上文把有关数据恢复的硬盘寻址方式、硬盘分区结构等基础理论内容进行了阐述,下面就结合以上理论利用WinHex这款十六进制编辑器来实现对删除的图片和分区来实现恢复的效果。

恢复图片

首先我们在系统H盘存放一个cat.jpg的图片文件,通过WinHex挂载该磁盘驱动器,如下图所示文件浏览窗口红色框中就是该cat.jpg文件,通过十六进制查看器,该文件存放的位置对应偏移地址为0058B000,其中jpg图片格式文件头对应的十六进制码为FFD8FF,如图中十六进制查看器的红色框中所示就是该cat.jpg文件头,后面的十六进制数就对应该cat.jpg文件。
在这里插入图片描述

按住Shift+Ctrl键彻底删除cat.jpg文件后,如下图所示在WinHex的文件浏览窗口已经看不到该cat.jpg文件,但是通过十六进制查看器在0058B000位置,仍然可以看到cat.jpg文件原本占据的位置数据没有变,这也证明了基础理论中删除的数据没有立刻被覆盖,只是文件索引标识为已删除,给后续数据恢复做好了准备。
在这里插入图片描述

WinHex在工具-磁盘工具-通过文件类型恢复中支持多种文件类型的数据恢复,如下图所示,仅图片类型就支持包括JPEG、PNG、GIF、TIFF等多种类型,此处选择恢复文件的输出位置,一定不要与已删除文件在一个盘符,防止已删除文件的存储位置被不小心覆盖,点击确定即可得到恢复文件,如下图。
在这里插入图片描述

恢复分区

通常情况下,EBR不会遭到破坏,或者被破坏的几率极低,因此实践中对MBR的修复比较常见,例如某硬盘的MBR由于病毒的破坏被删除了,针对分区的恢复,这里举个比较有代表性的例子,即针对分区表的恢复。
我们这里有一块测试磁盘如下图所示,提示异常分区未分配没有初始化,但是我们之前使用时这块磁盘有两块分区,存储的也都有数据,现在利用WinHex挂载起来看一看。
在这里插入图片描述

挂载之后在winhex的文件浏览窗口看到如下图所示该磁盘有I和J两个分区,但是该磁盘的分区表已经损坏,如图中红色框中,该分区表数据都变为0,这也是出现无法识别分区的主要原因。
在这里插入图片描述

下面就利用DBR分区数据来尝试恢复这两个分区,NTFS系统的DBR标志为EB 52 90在WinHex中搜索得到如下图结果其在第128扇区,dbr的28至2f保存的是文件系统扇区总数,通过数据解释器查看该分区扇区总数为409,599,这里使用当前扇区128加上409,599再加上1得到下一个分区的位于第409,728扇区。
在这里插入图片描述

跳转至第409,728扇区,该扇区头部发现DBR标志EB 52 90,验证了我们计算的扇区大小的正确性,如下图所示,查看该dbr的28至2f保存的是文件系统扇区总数,通过数据解释器查看该分区扇区总数为608,255,这里使用当前扇区409,728加上608,255再加上1得到结果1,017,984,第1,017,984扇区已经非常接近磁盘总扇区数1024000,通过WinHex查看后续也没有DBR了,则可验证该磁盘有两个分区。
在这里插入图片描述

后面利用上文找到的两个分区的起始扇区和分区包含的扇区总数来恢复MBR的分区表,分区1的起始扇区为128,分区1包含409,599个扇区,转换为十六进制起始扇区为80 00 00 00,扇区总数为FF 3F 06 00,分区2的起始扇区为409,728,分区2包含608,255个扇区,转换为十六进制起始扇区为80 40 06 00,扇区总数为FF 47 09 00,两个分区均为NTFS格式,对应标志为07,如图中红色框部分。
在这里插入图片描述

保存以上修改,重新挂载该磁盘后即可看到该磁盘两个分区恢复正常,分区中的文件也正常,如下图所示。
在这里插入图片描述

以上对数据恢复中涉及的基础知识,包括硬盘的寻址方式、分区结构以及WinHex的用法等进行了介绍,同时结合实际恢复删除的图片和被破坏的分区来进一步阐述理论的正确性,后续将展开对数据恢复的更多学习内容,大家一起学习交流。

转载声明:如果希望转载请于公众号(安全fun)后台联系,或者邮件至anquanfun@163.com,转载时请保留原作者(安全fun)及出处信息,转载文章禁止声明原创,更多合作也可邮件至anquanfun@163.com,搜索微信公众号:安全fun,扫码可关注。
在这里插入图片描述

免责声明:本公众号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。

  • 6
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值