@port139 Blog

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

LNK と Property Store

LNKファイルのProperty Store構造を確認します。

サンプルJPEGファイルを準備します。このJPEGファイルはEXIF情報を含んでいます。

f:id:hideakii:20180401054953p:plain

 サンプルJPEGファイルのショートカットを作成します。

f:id:hideakii:20180401055311p:plain

作成したショートカットファイルを LEcmd でパースし、Property store data blockを確認します。Property Store dataがLNKファイル内に存在している事を確認できます。

f:id:hideakii:20180401055545p:plain

LNKファイル内の「The metadata property store data block」を確認してみます。

 シグネチャ0xa0000009をハイライトしています。

f:id:hideakii:20180401060201p:plain

最初のserialized property storageは、245バイトあります。

f:id:hideakii:20180401060956p:plain

Windows Property Store formatを参考し、パースしてみます。一部不完全な結果になっています。

F5 00 00 00 Size of the serialized property storage ⇒ 245
31 53 50 53 "1SPS" ⇒ Version
A1 1D B8 14 35 01 31 4D 96 D9 6C BF C9 67 1A 99 ⇒Format class (or property set) identifier GUID ⇒ 14b81da1-0135-4d31-96d9-6cbfc9671a99 
25 00 00 00 ⇒ 37 (長さ)
0F 01 00 00 ⇒ 271 ⇒ Manufacturer of camera
00 Reserved
1F 00 00 00 ⇒ 31 (Property value type?)

0A 00 00 00 ⇒ 10 (文字列長?)
500061006E00610073006F006E00690063000000 ⇒ Panasonic

15 00 00 00 ⇒  21 (長さ)
9A 82 00 00⇒ 33434 ⇒ Exposure Time
00 Reserved

 

<4/2追記> 

サンプルのLNKファイルを、plaso-20180127でパースした結果が下記です。Shell Itemはパースされていますが、Property Soreはパースされません。

f:id:hideakii:20180402195649p:plain

 

参考URL:

github.com

https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa965725(v=vs.85).aspx

http://www.classicshell.net/forum/viewtopic.php?f=13&t=7959

libfole/OLE definitions.asciidoc at master · libyal/libfole · GitHub

f:id:hideakii:20180401054303j:plain