@port139 Blog

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

Fixup と Update Sequence Number

NTFS の Fixup 値と update sequence について確認します。Fixup については NTFS Documentation を参照します。

 サンプルの画像ファイル coin.jpg を E: ドライブへコピーし、MFT ファイルでFile レコードを確認します。coin.jpg ファイルの File レコード番号は 39、シーケンス番号は 1 です。

f:id:hideakii:20180203100928p:plain

MFTファイル内のレコード番号39(1024 x 39 = 399,936 )を参照します。

下記 FILE レコードでは、オフセット位置 4 にある Offset to the update sequence 値が 30 00 (⇒ 48)となっています。

30 00 Offset to the update sequence ⇒ 48
03 00 Size in words of Update Sequence Number & Array (S) ⇒ 3

オフセット位置 48 からの 2 バイト、03 00 が update sequence になります。

f:id:hideakii:20180203101648p:plain

上記図では、セクタの終わりにある 00 00 が FixUp 値 03 00 と入れ替えられている状態です。

次に、coin.jpg ファイルの名前を変更しレコードをアップデートしてみます。

>ren e:\coin.jpg NotCoin.jpg

MFTファイル内のレコード番号39(1024 x 39 = 399,936 )を参照します。

レコードの更新により、update sequence04 00 となっている事を確認できます。

f:id:hideakii:20180203103620p:plain

次に、この JPEG ファイルを削除します。

>del e:\NotCoin.jpg

 MFTファイル内のレコード番号39 を参照します。
レコードの更新により、update sequence05 00 となっている事を確認できます。
また、ファイルが削除された事により、File レコードのシーケンス番号は 2 になった事を確認できます。

f:id:hideakii:20180203104150p:plain

 レコードを再利用してみます。

 >echo "Ancient Andes" > e:\gold.txt

  MFTファイル内のレコード番号39 を参照します。
レコードが再利用され、update sequence02 00 となっている事を確認できます。

f:id:hideakii:20180203105107p:plain

 

参考URL:

http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf

 

f:id:hideakii:20180203100509j:plain