word文件已损坏无法打开怎么修复?
方法一:通过手动重建文件头,修复损坏的Microsoft Word文档
适用情形:文件头结构损坏导致文件无法打开
Step 1:打开复合文档
Step 2:将页转换成扇区
Step 3:复制文件头
Step 4:定位目录流扇区起始扇区
Step 5:短流开始位置及大小
Step 6:确定扇区分配表(SAT)
Step 7:确定主扇区分配表(MSAT)的起始扇区号
Step 8:修复文件头
Step 9:修复文件内容
Step 1:添加损坏文档
Step 2:开始修复文档
Step 3:保存修复好的文档
使用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。保存文件,本次复合文档手动修复工作圆满完成。
方法二:使用效率源文档修复大师(Word专业版),简单三步即可完成修复
适用情形:自如应对多场景文档修复需求
对比方法一,方法二是不是超简单?页面简单清爽,操作纵享丝滑,电脑小白也能快速上手修复!