我是一名教授,一名学生通过电子邮件向我发送了一份 Word 文档 (.docx),该学生声称已在截止日期前(大约两个月前)完成该文档,但她的搭档未能提交。该学生在 Microsoft Word 2007 中创建了该文档。当我在 Word 2010 中打开该文档时,我看到:
- 最后修改时间:2011 年 5 月 11 日下午 4:58
- 创建于 2011 年 5 月 11 日下午 4:21
当我向学生询问差异时,她无法解释,只能说她将文件从一个地方复制到另一个地方并重命名了。这些操作会改变 Word 属性吗?
答案1
我拿了一个我在 2010 年 11 月创建的文档。在 Windows 资源管理器中,文件属性显示:
- 创建时间:2010 年 11 月 23 日上午 11:45:20
- 修改时间:2010 年 11 月 23 日,下午 7:58:40
所以我们知道这个文件是当时创建和修改的。我在 Word 2007 中打开它并显示属性。它显示了相同的日期。这表明 Word 属性与文件属性相同(以防 Word 对日期做了一些奇怪的事情)。
然后我复制了该文档并重命名。在 Windows 资源管理器中,文件属性显示:
- 创建时间:2011 年 5 月 16 日,晚上 10:38:57
- 修改时间:2010 年 11 月 23 日,下午 7:58:40
复制文件会更改创建日期。这是创建副本的日期。它不会更改修改日期。因此,如果学生只是复制并重命名了文档,那么它应该具有原始修改日期。
但是,学生可能通过打开文件并以其他名称保存来复制。我这样做了,我的新文件有这些日期。
- 创建时间:2011 年 5 月 16 日,晚上 10:42:47
- 修改时间:2011 年 5 月 16 日,晚上 10:42:47
请注意,这两个日期是相同的。就文件系统而言,这是一个新文件,因此这两个日期都是今天的日期。
最后我打开文件,做了修改并保存。结果得到了这些日期。
- 创建时间:2011 年 5 月 16 日,晚上 10:42:47
- 修改时间:2011 年 5 月 16 日,晚上 10:46:15
这表明该文件是在 2011 年 5 月 11 日下午 4:21 创建的,并在大约 37 分钟后进行了修改。如果学生完全相信,她可能已经创建了该文档的副本。然后她必须在大约 37 分钟后进行更改并再次保存。这可能是她在校对文档时无意中做的。
也有可能该文档是在 2011 年 5 月 11 日下午 4:21 之前的任何时间开始编写的,并于下午 4:21 首次保存,之后进行了其他更改并于下午 4:58 再次保存。
如果该文件确实是从另一份文件复制而来,那么你可以要求学生提供该文件。该文件上应该有原始日期。
最后,通过更改电脑时钟可以轻松伪造日期。
答案2
我最近自己也处理过类似的问题。我认为确定 docx 文件创建时间的最准确方法是查看 XML 文件本身。您可以通过将文件(例如 example.docx)重命名为 example.zip,然后使用任何可以处理 zip 文件的程序打开它来执行此操作。在 docProps 文件夹中,查找名为 core.xml 的文件。您可以使用任何文本编辑器(例如记事本)打开此文件。在文件中查找如下所示的部分:
<dcterms:created xsi:type="dcterms:W3CDTF">2011-05-20T19:56:00Z</dcterms:created>
这给出了文件创建的日期和时间(UTC),我相信它是在文件首次创建时设置的。
答案3
以下是我在文档中伪造日期的方法Microsoft Word 2007+
。Linux shell 中的步骤:
$ mkdir dummy && cd dummy
$ unzip /path/to/input.docx
$ ls -al docProps/core.xml
-rwxrwxrwx. 1 root root 784 Jan 1 1980 docProps/core.xml
$ vim docProps/core.xml
[change the date in the XML element "created" and "modified" as you wish]
$ touch -d 19800101 docProps/core.xml
$ ls -al docProps/core.xml
-rwxrwxrwx. 1 root root 784 Jan 1 1980 docProps/core.xml
$ zip -r -X /path/to/input_edited.docx *
享受 !