@port139 Blog

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

JumpList と Stream

JumpList と The allocation table」の続きです。

次のDirectory entry(128byte)をパースしてみます。 

f:id:hideakii:20180506170331p:plain

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 ファイルのシグネチャが登場します。

f:id:hideakii:20180506172145p:plain

ヘッダによれば、Size of a short-sector (mini-sector)は64バイトとなっています。

SSATを確認します。チェーンは0⇒1⇒2⇒3⇒4⇒5⇒Dと構成されています。

f:id:hideakii:20180506172738p:plain

 まず、0⇒1⇒2⇒3⇒4⇒5の 384 バイトを確認します。

f:id:hideakii:20180506173120p:plain

 セクタDで残りの64バイトを確認します。(ストリームのサイズは445バイト)

f:id:hideakii:20180506173308p:plain

Structured Storage Viewer でデータを確認してみます。 同じデータですね。

f:id:hideakii:20180506173846p:plain

このJumpListファイル内には、LNKデータがストリームのエントリとして保存されている事を確認できました。

 

次へ続きます。

 

参考URL: 

github.com

binaryforay.blogspot.jp

 

 

f:id:hideakii:20180506155351j:plain