@port139 Blog

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

Windows 7とObjectID

FILETIME Extractor (fte) が ObjectID に対応して、以下からダウンロード可能になっています。

http://www.kazamiya.net/fte

でもって、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 でも起動した日時からとかなのかな?!明日確認してみなければ。