1

他の方法ではアクセスできない USB ドライブから生データを約 250MB のモノリシック ファイルにコピーできました。そのバイトの塊のどこかに、約 40 個の Word ドキュメントがあります。

  1. バイトストリームを解析し、Word ドキュメントの開始位置と終了位置を認識してコピーを抽出できるように、Word ドキュメントの内部構造に関するドキュメントはどこにありますか?

  2. このタスクに固有のプログラミング言語のライブラリはありますか?

  3. この問題に対する既存のソフトウェア ソリューションを提案できる人はいますか?

4

2 に答える 2

5

2 つのアプローチ:

Linux ではファイルをボリュームとしてマウントできます。バイナリ BLOB が破損していなければ、ファイル システムを分解してファイルの場所を特定できる可能性があります。それは FAT パーティションですか、それとも NTFS ですか?

それでもうまくいかない場合は、次のバイト文字列を探します。

D0 CF 11 E0 A1 B1 1A E1

これらは、オフィス ドキュメント ファイルの署名の「マジック バイト」です。他のデータではランダムに発生する可能性がありますが、それは始まりです。ファイルが断片化されていると、重大な問題が発生します。

また、Word でドキュメントの一部をそのまま再作成して、ファイルに保存し、チャンクを抽出して BLOB で検索します (grep バイナリなどを使用)。ファイルのすべての部分からの情報があれば、ブロブ内の WHERE をデコードできるはずです。それを作業用の DOC バイナリに戻すのは非常に難しいように思えますが、残りのテキストを復元することは不可能ではありません。

于 2008-12-10T04:52:28.007 に答える
2

Apache POIプロジェクトには、あらゆる種類の MS Office ドキュメントを読み書きするためのライブラリがあります。ファイルが新しい XML ベースのOOXML形式の場合、XML が圧縮されているため、zip ファイルの先頭を探します。

于 2008-12-10T04:46:15.867 に答える