将 PE 标头中的时间戳设置为 0 有什么副作用?

逆向工程 视窗 聚乙烯 二进制
2021-06-23 08:46:01

Windows 可执行文件的 PE 标头包含“编译时时间戳”作为其第三个字段。为了在我们的构建过程中实现可重复性,我们希望将时间(纪元秒)设置为零(=1970-01-01 00:00:00)。

这有任何副作用吗?根据

https://support.microsoft.com/en-us/kb/164151

标题不会影响功能。

是否有编译器/链接器标志可以自动获取?

亲切的问候 Stefan S。

1个回答

这有任何副作用吗?

不,Windows 加载程序不关心 EXE 的 PE 标头中的时间戳。

是否有编译器/链接器标志可以自动获取?

不,Visual C++link.exe没有用于指定要使用的时间戳的命令行开关。(并且 Visual C++cl.exe不适用,因为 PE 时间戳是链接时间戳,而不是编译时间戳。)