月, 2010/03/15 - 23:03 — kazamiya
WinRARのライセンスを購入して試す機会ができたので、RAR形式を使った場合のmactime周りの挙動を確認してみました。
以下のサンプルファイル(test.txt)を使います。
ファイルを右クリックして出てくるメニューを使ってそのまま圧縮&展開した場合、タイムスタンプは以下のようにmtimeのみが100ナノ秒精度で(つまりFILETIMEのまま)維持されていることがわかります。

* test\test.txtがtest.rar(test.txtをRAR圧縮したファイル)から展開されたファイル
mtime以外(atime, ctime, crtime)は展開時の時間にセットされています。
なお、WinRARは圧縮時と展開時のオプションでatimeとcrtimeも保持できるようになっています。
どちらもチェックした状態で圧縮、展開するとctime(EnCaseのEntry Modified)以外は元のファイルのタイムスタンプを維持しています。
...というわけでRARの場合はZIP/LZH系と異なりタイムスタンプ精度の違いによる検出は難しそうです。ただ展開はWinRAR以外でも可能なので、ツールによっては秒までしか考慮していないかもしれません。



