@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

Office 2007の形式ファイル

Word 2007のデフォルトでは Docx(Open XML)形式でデータを保存しますが、ファイル内容が圧縮されている*1ので、バイナリパターンで文字列検索を実施しても検索対象の文字列は圧縮されちゃってるのでひっかかりませんね

とりあえず関連URLをメモ。

Microsoft Office (2007) Open XML ファイル形式の概要
http://www.microsoft.com/japan/msdn/office/2007/ms406049.aspx

Word、Excel、および PowerPoint 2007 用ファイル形式互換機能パック
http://office.microsoft.com/ja-jp/products/HA101686761041.aspx

以前のバージョンの Office での Word 2007、Excel 2007、および PowerPoint 2007 ファイルの開き方および保存方法
http://support.microsoft.com/kb/923505/ja

Office File Converter Pack
http://www.microsoft.com/downloads/details.aspx?familyid=cf196df0-70e5-4595-8a98-370278f40c57&displaylang=en

互換機能パックを使えば旧バージョンでも読めるようになるみたいですが、関連するサポート技術情報で興味深かったのが文書番号 : 925451 「Word 2007 を使用して右から左方向の言語またはコンプレックス スクリプト言語の文書を作成し、Word 2002 または Word 2000 でその文書を開くと、右から左方向のテキストが反対方向に表示される」に書いてある以下の部分。

原因
この動作は、リッチ テキスト形式 (RTF) に対して実施された変更が原因で発生します。Word 2000 および Word 2002 では、Word/Excel/PowerPoint 2007 ファイル形式用 Microsoft Office 互換機能パックを使用してファイルを開く場合に、リッチ テキスト形式を使用します。

そうですか、RTF 形式ですか(笑)、バージョン的には Word 2000、2002 となっているので、Word 2003で開く場合には特に RTF 形式へ変換するって動作ではないということでしょうかねぇ。

*1:ファイルシグネチャ的には先頭文字列がPK

Docxのコンバートツール

Docx 形式ファイルをほかの形式へと変換するツールもいくつかあるようですが、わざわざ変換してから検索するのは手間なのと、メタ情報などがどうなるか微妙ですかね。

DOCX Convert Office 2007
http://www.docx-converter.com/

Widgetは試してないんですけど、日本語はダメなの?、Web のフォームから変換処理できるようだったので試してみましたが・・・ファイル戻ってこない(笑)

あと、Docx に対応したテキスト抽出ツールとしては以下があるようですね。

xdoc2txt
http://www31.ocn.ne.jp/~h_ishida/xdoc2txt.html

UTF-8

Lhaplus で Docx ファイルの拡張子を ZIP に変更して展開してみましたが、エラーがでちゃうんですね。展開そのものはできているようですけど....
でもって XML ファイルとか見てたんですが、Docx では文字コードUTF-8 なんですね。
「あ」が \xE3\x81\x82 となるわけですが、Vista でサポートされているサロゲートペアな文字 U+219C3 を Word 2007 で保存すると \xF0\xA1\xA7\x83 と UTF-8サロゲートペアのバイト列で保存されてなかなか興味深いです。っていうか、Vistaサロゲートペアはいいんですけど、文字コード表の Unicode で指定が対応してない気がする・・・*1
いずれにしても、ここ最近文字コードの勉強さぼっていたので、少し勉強しないと...orz

Microsoft Windows Vista における JIS X 0213:2004 (JIS2004) 対応について
http://go.microsoft.com/fwlink/?LinkID=76814
http://www.microsoft.com/japan/windows/products/windowsvista/jp_font/default.mspx

この文書はとてもわかりやすく書かれていて嬉しい。P14にサロゲートペアに関する説明があります。

*1:IMEパッドの文字一覧では検索できないっぽいので不便ですやね