これも古い話題ですが :-)、JumpListのファイル形式について確認します。
JumpListファイルの詳細については、参考URLの記事を参照してください。
下記図は、Windows 10環境でAutomaticDestinationsフォルダ配下にあるf01b4d95cf55d32a.automaticDestinations-msファイルを参照しています。
AppID が「f01b4d95cf55d32a」ですので、Explorer の JumpList ファイルとなります。
ファイルヘッダのシグネチャは D0 CF 11 E0 A1 B1 1A E1 となっており、OLECFである事が分かります。OLECF形式については、マイクロソフトが仕様を公開しています。
Object Linking and Embedding (OLE) Compound File (CF) format specification を参照し、ファイルヘッダ部分をパースします。
D0 CF 11 E0 A1 B1 1A E1 The signature (magic identifier)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Class identifier (GUID)
3E 00 Revision number of the file format (minor version) ⇒ 62
03 00 Version number of the file format (major version)
FE FF Byte order identifier ⇒ \xfe\xff little endian
09 00 Size of a sector in the compound document file in power-of-two ⇒ 512byte
06 00 Size of a short-sector (mini-sector) in the short-stream container stream in power-of-two ⇒ 64byte
00 00 00 00 00 00 Reserved
00 00 00 00 Number of Directory Sectors.
01 00 00 00 Number of FAT Sectors
01 00 00 00 First Directory Sector Location
00 00 00 00 Transaction Signature Number
00 10 00 00 Mini Stream Cutoff Size ⇒ 4096
02 00 00 00 First Mini FAT Sector Location ⇒ 2
02 00 00 00 Number of Mini FAT Sectors ⇒ 2
FE FF FF FF First DIFAT Sector Location
00 00 00 00 Number of DIFAT Sectors
DIFAT (436byte)
Master Sector Allocation Table (MSAT)はオフセット76から開始されます。下記では、オフセット76からの4バイトは00 00 00 00となっており、セクタ位置は0となっています。
最初のセクタ位置を確認します。
Sector identifier は 0xfffffffd (-3)となっており、Marks the sector as used for the SAT(Sector Allocation Table)である事が分かります。
更に詳細に追跡する方法は、「Jump lists in depth: Understand the format to better understand what your tools are (or aren't) doing」で詳しく解説されています。
来週、続きを確認する予定です。
参考URL:
https://msdn.microsoft.com/en-us/library/dd942138.aspx