「JumpList と The allocation table」の続きです。
次のDirectory entry(128byte)をパースしてみます。
31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ⇒ 1
04 00 ⇒ The byte size of the directory name including the end-of-string character
02 ⇒ The type of the directory entry ⇒ stream
01 ⇒ The node color of the directory entry.⇒ Black
FF FF FF FF ⇒ The directory identifier of the previous directory entry
FF FF FF FF ⇒ The directory identifier of the next directory entry
FF FF FF FF ⇒ The directory identifier of the sub directory entry
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ⇒ Class identifier
00 00 00 00 ⇒ User flags
00 00 00 00 00 00 00 00 ⇒ Creation time (FILETIME)
00 00 00 00 00 00 00 00 ⇒ Modification time(FILETIME)
00 00 00 00 ⇒ Refers to the SID of a stream or the SID of short-stream container stream
BD 01 00 00 ⇒ Refers to the size of a stream or the size of a short-stream container stream ⇒ 445
00 00 00 00 ⇒ Reserved
上記結果から、このエントリは445バイトのストリームとなっています。
Root Entry の Sector identifier (SID) of the first sector of the directory は 3 です、セクタ 3 を確認します。LNK ファイルのシグネチャが登場します。
ヘッダによれば、Size of a short-sector (mini-sector)は64バイトとなっています。
SSATを確認します。チェーンは0⇒1⇒2⇒3⇒4⇒5⇒Dと構成されています。
まず、0⇒1⇒2⇒3⇒4⇒5の 384 バイトを確認します。
セクタDで残りの64バイトを確認します。(ストリームのサイズは445バイト)
Structured Storage Viewer でデータを確認してみます。 同じデータですね。
このJumpListファイル内には、LNKデータがストリームのエントリとして保存されている事を確認できました。
次へ続きます。
参考URL: