word文件已损坏无法打开怎么修复?

如题所述

第1个回答  2022-10-25

方法一:通过手动重建文件头,修复损坏的Microsoft Word文档

适用情形:文件头结构损坏导致文件无法打开


    Step 1:打开复合文档

    使用winhex工具打开损坏复合文档以及正常复合文档;

    Step 2:将页转换成扇区

    winhex打开之后将页转换成扇区进行分析;

    Step 3:复制文件头

    复制正常复合文档的文件头,覆盖掉损坏的文件头,然后逐一修改相应参数;

    Step 4:定位目录流扇区起始扇区

    目录流标志是“root entry”,十六进制搜索“52006F00”,偏移位置512=0,如图2所示,在41扇区找到目录流起始扇区,确定了目录流的起始扇区的参数为41-1=40,用十六进制表示就是28;

    Step 5:短流开始位置及大小

    接着我们找短流(SSAT)。根据复合文档定义,目录流的第一表项0x74处的4个字节表示的是短流的起始扇区,如图6中十六进制2B000000值为43,就是短流的开始。

    开始扇区为43-1=42,十六进制值为2A,0x78处的4个字节表示的是短流的大小,大小就是十六进制800000,等于128/64=2,只有两项就是占用一个扇区,大小就是1;

    Step 6:确定扇区分配表(SAT)

    通过十六进制搜索“01000000”,偏移位置为512=0,如图9所示,在40扇区找到标准扇区配置表,看到扇区中有一个“FDFFFFFF”,就可以确定就是SAT了。

    最后一项SAT配置表中会有FDFFFFFF的值,表示这是一个SAT配置表的结束,并且有几个FDFFFFFF就代表有几个SAT配置表。本案例中只有一个FDFFFFFF那就只有一项SAT配置表;

    Step 7:确定主扇区分配表(MSAT)的起始扇区号

    主扇区分配表(MSAT)中存放的是扇区分配表(SAT)所在的扇区号。

    本例中,扇区分配表(SAT)只有一个,根据复合文档的格式定义,文件头中可以存放109项SAT值,也就是说,只要文件的扇区分配表不大于109个,就不需要主扇区分配表。(严格的说是不需要额外的主扇区分配表,因为文件头就可以容纳下了,主扇区分配表(MSAT)是在SAT多于109项时,剩下的值用指定的扇区来记录!)

    根据定义,无额外主扇区分配表(MSAT)时,主扇区分配表的起始扇区号为-2,十六进制表示为FEFFFFFF,它占用的扇区数为0;

    Step 8:修复文件头

    关键值都计算出来后总结一下算好的值,然后手动填写文件头信息,修复后文件头如图10所示,保存文件,此时文档仍然无法打开;

    Step 9:修复文件内容

    以上参数确定后,最后一步就是修复MSAT的内容了。

    在0扇区定位到0X4C处,此处后的每个字节填写一项SAT扇区编号。本实验只有一个SAT,位置为39,转换成十六进制为27000000,剩下的填写成FFFFFFFF。保存文件,本次复合文档手动修复工作圆满完成。

    方法二:使用效率源文档修复大师(Word专业版),简单三步即可完成修复

    适用情形:自如应对多场景文档修复需求

    Step 1:添加损坏文档

    Step 2:开始修复文档

    Step 3:保存修复好的文档

    对比方法一,方法二是不是超简单?页面简单清爽,操作纵享丝滑,电脑小白也能快速上手修复!

相似回答