現在,Microsoft Office のバイナリファイルの解析を行っているのですが,MS Excel のオートシェイプ部分が結構トリッキーな形になっていたのでメモとして残しておきます. MS Excel バイナリファイルのデータ構造 MS Excel のバイナリファイルは,セルの内容やフォントなどの情報毎に「レコード」を作成し,レコードの集合体と言う形になっています.それぞれのレコードは,以下のようにヘッダ部とデータ部に分かれます. Offset Size (Bytes) Contents 0 2 レコード番号 2 2 データ長 4 variable データ MS Excel には数多くの種類のレコードが存在するのですが,今回問題となったのは MsoDrawing (0xEC) と呼ばれるレコードです. MsoDrawing のデータ構造 MsoDrawing レコードは,MS Exce
![Microsoft Excel バイナリファイル解析(Office Drawing 部分) - Cube Lilac](https://cdn-ak-scissors.b.st-hatena.com/image/square/18ffacf0ea1c6ee9c015719ce87a9f07c0b7e761/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftt_clown%2F20090910%2F20090910030519.jpg)