如何从USB设备恢复的数据中提取Word文档?

时间:2008-12-10 04:40:14

标签: ms-word data-recovery

我已经能够将原始数据从其他无法访问的USB驱动器复制到大约250MB的单片文件中。在那个blob字节中的某个地方大约有40个Word文档。

  1. 在哪里可以找到有关Word文档内部结构的文档,以便我可以解析字节流,识别Word文档的开始位置并完成并提取副本?

  2. 是否有任何特定于此任务的编程语言库?

  3. 有人可以就此问题建议已有的软件解决方案吗?

2 个答案:

答案 0 :(得分:5)

两种方法:

您可以在linux中将文件挂载为卷。如果您的二进制blob没有太多损坏,您可能能够分解文件系统以找出文件所在的位置。 (是)它是FAT分区还是NTFS?

如果这不起作用,我会寻找this string of bytes

D0 CF 11 E0 A1 B1 1A E1

这些是office文档文件签名的“神奇字节”。它们可能在其他数据中随机出现,但它是一个开始。如果文件碎片化,你将遇到MAJOR问题。

此外,尝试按原样在Word中重新创建文档片段,将其保存到文件中并提取块以在blob中搜索(使用grep binary或其他)。如果您从文件的所有部分获得信息,则应该能够解码它们中的WHERE。将它拼凑回工作的DOC二进制文件似乎很遥远,但恢复文本的其余部分应该是不可能的。

答案 1 :(得分:2)

Apache POI项目有一个用于读写各种MS Office文档的库。如果文件采用新的XML基础OOXML格式,那么当压缩XML时,您将寻找zip文件的开头。