Windows 7とObjectID
FILETIME Extractor (fte) が ObjectID に対応して、以下からダウンロード可能になっています。
でもって、Windows 7 では、ObjectID のタイムスタンプが XP とでは異なるというお話がでていたのと、作者のひと曰く『システム起動時の時刻になっているのではないか?』というコメントがありましたので、ちょっとテストしてみました。
まずは、ObjectID が生成されていないファイルを作成。
c:\temp\objectid>fsutil objectid query "C:\temp\objectid\aaa.txt"
指定されたファイルにはオブジェクト ID がありません
2010/4/19 19:55分あたりにエクスプローラからファイルをオープン、ObjectID が付与されたことを確認。
c:\temp\objectid>fsutil objectid query "C:\temp\objectid\aaa.txt"
Object ID : 23808d0ef247df11807700ac6178ea4c
BirthVolume ID : 6adb4ed20972dd4499a38def5709da1a
BirthObjectId ID : 23808d0ef247df11807700ac6178ea4c
Domain ID : 00000000000000000000000000000000
ちなみに、ObjectIDで使われているこのPCのMACアドレスは以下になります。相変わらず何をもってプライマリとしているのか謎ですが、とりあえずこのアダプタはipconfgコマンドの結果リストでは一番最初のアダプタになります。
イーサネット アダプター VPN - VPN Client:
メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :
説明. . . . . . . . . . . . . . . : VPN Client Adapter - VPN
物理アドレス. . . . . . . . . . . : 00-AC-61-78-EA-4C
次に、レジストリキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc で UuidSequenceNumber の値を確認すると以下になり、シーケンス番号は「0x0077」となります。
0x067d0077
↓
110011111010000000001110111
↓
下位14bitだけにすると、
↓
00000001110111
↓
0x0077
aaa.txt のオブジェクトID部分から、MACアドレス部分とシーケンス部分を除いた、残りのタイムスタンプ部分が以下になります。
23808d0ef247df11
タイムスタンプのデコード方法を、The Meaning of Linkfiles In Forensic Examinations の資料 P 14に従ってデコードすると
23808d0ef247df11
↓
23808d0ef247df01(バージョンのところをゼロに)
↓
01df47f20e8d8023(Little Endianから Big Endian に変換)
↓
134905618796216355 - 5748192000000000(10進数に変換して1582年〜1601年の分を引く)
↓
129157426796216355
↓
01CADBFED04AC023(64bi BigEndian)
↓
DCODEを使ってWindowsタイムスタンプ値として計算
↓
Wed, 14 April 2010 18:17:59 UTC
Thu, 15 April 2010 03:17:59 +0900
確かにWindows 7ではオブジェクトIDが付与した時間が設定されているわけではないみたいですね。ちなみにこのシステムの起動日時は、イベントログによると2010/04/15 03:18:18 なので、そーいうことなんですかね。
あれ?ひょっとして XP でも起動した日時からとかなのかな?!明日確認してみなければ。