我知道有 8 个 NTFS 时间戳
http://www.governmentsecurity.org/forum/topic/30896-frustrating-ntfs-time-stamp-forensics/
NTFS MACE(已修改、已访问、已创建和 MFT 条目已修改)值。NTFS 带有 8 个时间戳值,其中 4 个位于 $Standard_Information 属性 (SI) 中,另外 4 个位于 MFT 条目的 $FILE_NAME (FN) 属性中。
如何显示全部 8 个?
这个命令可以做到
MFTRCRD.exe c:\crp\a.a -d indxdump=off 1024 -s
至于我是如何知道参数的,嗯,做 MFTCRD 说有 4 个参数并给出了一个例子,MFTRCRD C:\boot.ini -d indxdump=off 1024 -s 所以你可以更改任何文件名/路径。
C:\blah>MFTRCRD.exe c:\crp\a.a -d indxdump=off 1024 -s
Starting MFTRCRD by Joakim Schicht
Version 1.0.0.37
Target is a File
Filesystem on c: is NTFS
File IndexNumber: 64587
............................
$STANDARD_INFORMATION 1:
File Create Time (CTime): 2014-12-06 03:49:51:714:3290
File Modified Time (ATime): 2015-09-15 16:23:33:791:7170
MFT Entry modified Time (MTime): 2015-09-15 16:23:33:791:7170
File Last Access Time (RTime): 2014-12-06 03:49:51:794:3335
...........
$FILE_NAME 1:
Parent MFTReference: 80564
ParentSequenceNo: 10
File Create Time (CTime): 2014-12-06 03:49:51:714:3290
File Modified Time (ATime): 2014-12-06 03:49:51:794:3335
MFT Entry modified Time (MTime): 2014-12-06 03:49:51:794:3335
File Last Access Time (RTime): 2014-12-06 03:49:51:794:3335
Run Code Online (Sandbox Code Playgroud)
(注意来自 MFTRCRD 的 ATime 的那些缩写,用于修改和其他,如 Rtime,看起来很荒谬,例如谷歌搜索 Rtime 没有显示任何内容。所以你可以忽略该命令给你的缩写并按照描述进行。但是有缩写linux 使用 (MAC) 而 windows NTFS 使用 (MACE),我将在下面描述)
Linux 不存储文件的创建时间。(已更新 - 一些现代 linux 文件系统会这样做,请参阅最后的注释)Windows 不会创建时间。
看起来Linux有3次。MAC时间。mtime atime ctime 。在 Linux 中,ctime 是更改时间,而不是创建时间,“已更改”时间在 linux 中与正在修改的文件(修改时间)不同。linux 中的更改时间是文件系统中的条目更改时,例如,当/甚至当,文件权限更改时,然后 linux 中的 ctime 更改。
Windows NTFS 使用 MACE,MACE 中的 C 是创建。MACE 中的 E 似乎类似于 linux 中的 c,即 MACE 中的 E 是被更改的条目。
http://forensicswiki.org/wiki/MAC_times MAC 时间 MAC 时间一词是指某个文件的最近修改(mtime)或上次写入时间、访问(atime)或更改(ctime)的时间戳。
Unix 系统将 ctime 的历史解释保留为某些文件元数据(而不是其内容)上次更改的时间,例如文件的权限或所有者(例如“此文件元数据已于 05/05/02 12:15pm 更改”) .
Windows 系统是唯一使用出生 (btime) 或创建 (crtime) 时间的系统(例如,'This file was created on 05/05/02 12:15pm')。因此,MACB;修改、访问、改变和诞生。
进一步查看 linux 进行对比是有益的。
http://www.linux-faqs.info/general/difference-between-mtime-ctime-and-atime
一个常见的错误是 ctime 是文件创建时间。这是不正确的,它是 inode/文件更改时间。mtime 是文件修改时间。一个经常听到的问题是“什么是 ctime、mtime 和 atime?”。这很令人困惑,所以让我解释一下 ctime、mtime 和 atime 之间的区别。时间
ctime 是 inode 或文件更改时间。当文件属性更改时,ctime 会更新,例如更改所有者、更改权限或将文件移动到其他文件系统,但也会在您修改文件时更新。
时间
mtime 是文件修改时间。当您修改文件时,mtime 会更新。每当您更新文件内容或保存文件时,mtime 都会更新。
大多数时候 ctime 和 mtime 是相同的,除非只更新文件属性。在这种情况下,只有 ctime 得到更新。
时间
atime 是文件访问时间。atime 在您打开文件以及文件用于其他操作(如 grep、sort、cat、head、tail 等)时更新。
cygwin 可以显示 4 个时间戳,timestamp 也可以
c:\blah>timestomp a.a -v
Modified: Tuesday 9/15/2015 17:23:33
Accessed: Saturday 12/6/2014 4:49:51
Created: Saturday 12/6/2014 4:49:51
Entry Modified: Tuesday 9/15/2015 17:23:33
Run Code Online (Sandbox Code Playgroud)
——
$ stat a.a
File: 'a.a'
Size: 45 Blocks: 4 IO Block: 65536 regular file
Device: b411d580h/3021067648d Inode: 102738366499454027 Links: 1
Access: (0070/----rwx---) Uid: ( 1000/ harvey) Gid: ( 513/ None)
Access: 2014-12-06 03:49:51.794333500 +0000
Modify: 2015-09-15 17:23:33.791717000 +0100
Change: 2015-09-15 17:23:33.791717000 +0100
Birth: 2014-12-06 03:49:51.714329000 +0000
Run Code Online (Sandbox Code Playgroud)
显然 setMACE 就像 Timestomp 但更好。但是,我看不到它显示 8 个时间戳。并且 setMACE 描述提到了显示时间戳的 MFTCRD。
您可以从这里获取 MFTRCRD https://github.com/jschicht/MftRcrd
Github好像有点奇怪,不要右键另存为,否则就是扩展名为EXE的HTML文件。当您尝试在 cmd 上运行它时,您会在 cmd 上收到关于 64 位和 32 位的错误。尝试左键单击它,然后下一页为您提供实际文件的下载。并且您需要在管理命令提示符下,否则您会收到有关您是否信任该发布者的程序的消息,如果您说是,则 cmd 窗口会闪烁并消失(以及是否 cmd /k )。但它在管理 cmd 提示符下工作正常。
添加
一些现代 linux 文件系统存储文件创建时间。(可能被称为 crtime。绝对不是 ctime,因为上面提到的原因)
https://unix.stackexchange.com/questions/91197/how-to-find-creation-date-of-file