这题我会!遇见过文件无法打开,或文件打开乱码等情况的伙伴们看过来,从事数据恢复行业20余年的“技术宅”效哥,直接给大家上权威恢复方法啦~
适用情形:文件头结构损坏导致文件无法打开
使用winhex工具打开损坏复合文档以及正常复合文档;
winhex打开之后将页转换成扇区进行分析;
复制正常复合文档的文件头,覆盖掉损坏的文件头,然后逐一修改相应参数;
目录流标志是“root entry”,十六进制搜索“52006F00”,偏移位置512=0,如图2所示,在41扇区找到目录流起始扇区,确定了目录流的起始扇区的参数为41-1=40,用十六进制表示就是28;
接着我们找短流(SSAT)。根据复合文档定义,目录流的第一表项0x74处的4个字节表示的是短流的起始扇区,如图6中十六进制2B000000值为43,就是短流的开始。
开始扇区为43-1=42,十六进制值为2A,0x78处的4个字节表示的是短流的大小,大小就是十六进制800000,等于128/64=2,只有两项就是占用一个扇区,大小就是1;
通过十六进制搜索“01000000”,偏移位置为512=0,如图9所示,在40扇区找到标准扇区配置表,看到扇区中有一个“FDFFFFFF”,就可以确定就是SAT了。
最后一项SAT配置表中会有FDFFFFFF的值,表示这是一个SAT配置表的结束,并且有几个FDFFFFFF就代表有几个SAT配置表。本案例中只有一个FDFFFFFF那就只有一项SAT配置表;
主扇区分配表(MSAT)中存放的是扇区分配表(SAT)所在的扇区号。
本例中,扇区分配表(SAT)只有一个,根据复合文档的格式定义,文件头中可以存放109项SAT值,也就是说,只要文件的扇区分配表不大于109个,就不需要主扇区分配表。(严格的说是不需要额外的主扇区分配表,因为文件头就可以容纳下了,主扇区分配表(MSAT)是在SAT多于109项时,剩下的值用指定的扇区来记录!)
根据定义,无额外主扇区分配表(MSAT)时,主扇区分配表的起始扇区号为-2,十六进制表示为FEFFFFFF,它占用的扇区数为0;
关键值都计算出来后总结一下算好的值,然后手动填写文件头信息,修复后文件头如图10所示,保存文件,此时文档仍然无法打开;
以上参数确定后,最后一步就是修复MSAT的内容了。
在0扇区定位到0X4C处,此处后的每个字节填写一项SAT扇区编号。本实验只有一个SAT,位置为39,转换成十六进制为27000000,剩下的填写成FFFFFFFF。保存文件,本次复合文档手动修复工作圆满完成。
适用情形:自如应对多场景文档修复需求(比如误删、乱码什么的)
对比方法一,方法二是不是超简单?
页面简单清爽,操作纵享丝滑,电脑小白也能快速上手修复!
路由