如何更改PE32的时间和日期戳

How to alter time and date stamp of PE32

我需要在哪里查看更改 PE32 文件的时间和日期戳?如果这太开放了,我深表歉意,也许这里有人可以为我指明正确的方向或正确的资源。我一直在四处寻找无济于事。

我可以使用各种逆向工程工具,例如 IDAPRo、PEBear 等

再次感谢。

更改 PE32 可执行文件(.exe.dll)的 TimeDateStamp 的过程很简单,可以从 this Microsoft article.

导出
  • 通过查找 的起始偏移量找到 "real" header,它存储在 MS-DOS 存根中 header.
  • 计算其地址:

    pNTHeader = dosHeader + dosHeader->e_lfanew;
    
  • 现在你有了 IMAGE_NT_HEADER ,它在 WinNT.h

    中定义如下
    DWORD Signature;
    IMAGE_FILE_HEADER FileHeader;
    IMAGE_OPTIONAL_HEADER OptionalHeader;
    
  • 解析 IMAGE_FILE_HEADER

  • 根据需要更改 DWORD TimeDateStamp 字段