Excel文件损坏后碎片级手工重组详解

2020年7月28日10:41:52
评论
303 951字阅读3分10秒
广告也精彩

此例要恢复的Excel电子表格大小为3.7M,首先去到WINHEX里面首先要确定文件的头对不对
Excel文件损坏后碎片级手工重组详解
在这里可以看到文件大小为3.7M,初步看文件头大小是对的
Excel文件损坏后碎片级手工重组详解
可以看到上图标记位置大小为3B000000=59,那么按照经验可能估算文件大小约为60KB*59=3540KB,这跟目录项的大小相近,那么这个头应该是对的。
接下来根据文档MSAT(下图标记位置)去寻找文件的结尾
Excel文件损坏后碎片级手工重组详解

可以看到在最后一个MSAT为681D0000=7528,因为文件MSAT的标记为FDFFFFFF,他的相应的偏移量为7528 MOD
128=104*4=416,于是可以搜索偏移量为416的地方搜索标记FDFFFFFFFEFFFFFF(因为最后一个主MSAT过后肯定是一个流的标记,而流的标记为FEFFFFFF,于是我们可以增加这个标识来增大搜索的精准度),如下图所示:
Excel文件损坏后碎片级手工重组详解

一般搜索从文件头的位置开始向下搜索。搜索到符合条件再要判断他的扇区对应位置对不对
Excel文件损坏后碎片级手工重组详解

如上图,可以看到标记位置ID为7469,那么第一个MSAT的位置则为7471(隔了8个字节),这时再看文件头看是否第一个MSAT指向7471扇区。
Excel文件损坏后碎片级手工重组详解

如上图第一个MSAT位置为7470,所对应扇区为7471(因为是相对位置,所以要加1才是对应的扇区位置),因此找到的这个位置有可能是文档的尾巴,针对U盘做碎片重组,FAT32的文件系统里的XLS文档多数是由两个碎片组成,其中一个碎片一个是文件头,由一个簇组成,除文件头其它部分则为第二个碎片。因为此种结构的文档最后一个扇区是目录流,结构如下图:
Excel文件损坏后碎片级手工重组详解

可以看到最后一个扇区位置为146662,这个是该文档的最后一个扇区,文件的第一个碎片为文档头开始的8个扇区,第二个碎片的大小则为除去文件头后的大小,结束位置为146662扇区。而从文档头可以知道文档的总大小。
Excel文件损坏后碎片级手工重组详解

从上图可以看到文件的最后一个扇区为为7530,那么大小为7531(因为从0开始计扇区),则碎片分为两部分,分别是0-7,8-7530。于是第二个碎片的开始位置就可以算出来了,为146662-(7530-8)=139140,现在跳到这个扇区
Excel文件损坏后碎片级手工重组详解

可以看到139140扇区内容明显是Excel电子表格的头内容,那么把139140-146662的扇区段保存为另一个碎片,再跟第一段组合起来文件就可以正常打开了。

  • 工程师微信二维码
  • 微信扫一扫添加好友可直接咨询数据恢复相关问题
  • weinxin
  • 关注盘首微信小程序
  • 扫描微信小程序查看大量数据恢复技术视频教程
  • weinxin
  • 本文由 发表于 2020年7月28日10:41:52
  • 转载请注明:https://www.nxssd.com/1132.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: