[分享] XLS数据恢复之碎片重组

  [复制链接]

该用户从未签到

18

主题

78

回帖

536

积分

[INTOHARD]连长

Rank: 4

积分
536
发表于 2014-12-22 23:54:25 | 显示全部楼层 |阅读模式
       excel文档误删除或误操作导致后用数据恢复软件找回来发现文件打不开,为什么恢复的Excel文档打开是乱码或者不对呢?下面一例Excel文档碎片数据恢复文件头损坏导致损坏是其中的一种。

       此例要恢复的XLS大小为3.7M,去到winhex里面首先要确定文件的头对不对



       在这里可以看到文件大小为3.7M,初步看文件头大小是对的



       可以看到上图标记位置大小为3B000000=59,那么按照经验可能估算文件大小约为60KB*59=3540KB,这跟目录项的大小相近,那么这个头应该是对的。

       接下来根据文档MSAT(下图标记位置)去寻找文件的结尾



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



       一般搜索从文件头的位置开始向下搜索。搜索到符合条件再要判断他的扇区对应位置对不对



如上图,可以看到标记位置ID为7469,那么第一个MSAT的位置则为7471(隔了8个字节),这时再看文件头看是否第一个MSAT指向7471扇区。



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



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



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



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  • TA的每日心情
    郁闷
    2016-1-2 15:00
  • 签到天数: 83 天

    [LV.6]五品郎中

    0

    主题

    113

    回帖

    436

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    436
    发表于 2014-12-23 09:01:33 | 显示全部楼层
    不错  谢谢楼主了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-27 14:43
  • 签到天数: 1415 天

    [LV.10]一品大学士

    43

    主题

    4413

    回帖

    2万

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    20254
    QQ
    发表于 2014-12-23 11:43:59 | 显示全部楼层
    恩。。。。。
    只有两个,运气好。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-23 15:44
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    86

    回帖

    101

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    101
    发表于 2014-12-23 15:42:15 | 显示全部楼层
    如果多个文件碎片呢?请教高手
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-25 02:29
  • 签到天数: 45 天

    [LV.5]六品通判

    16

    主题

    419

    回帖

    1240

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1240
    QQ
    发表于 2014-12-25 01:32:23 | 显示全部楼层
    备受启发,好帖子已经收藏,非常感谢楼主的高技术含量帖子!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2014-12-27 16:14
  • 签到天数: 2 天

    [LV.1]布衣百姓

    0

    主题

    7

    回帖

    4

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    4
    发表于 2014-12-27 17:20:06 | 显示全部楼层
    写得太好。。但还没看懂。。新手。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-8-1 07:19
  • 签到天数: 15 天

    [LV.4]七品知县

    2

    主题

    954

    回帖

    1万

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    14100
    发表于 2014-12-28 10:59:10 | 显示全部楼层
    不错,谢谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-1-3 20:32
  • 签到天数: 58 天

    [LV.5]六品通判

    1

    主题

    99

    回帖

    305

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    305
    QQ
    发表于 2015-1-17 16:48:46 | 显示全部楼层
    好贴  必顶
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-19 01:50
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    1

    主题

    55

    回帖

    26

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    26
    发表于 2015-1-18 20:54:41 | 显示全部楼层
    谢谢楼主提供,学习了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表