CTime类的一个BUG

最近学习PE结构的时候在有一个IMAGE_FILE_HEADER的时候发现有一个参数是

DWORD TimeDateStamp;  //表示时间日期标记

表示从1970-1-1 0:0:0开始到现在的日期秒数。

我想如果能够修改,是不是能修改程序的日期。

所以想到用需要修改的日期,减去1970-1-1 0:0:0的秒数,然后修改即可。

在使用CTime对变量赋值的时候,编译可以通过。

但是运行却会报错。

也就是这个会报错

CTime t(1970,1,1,0,0,0);   

这个是不允许的,修改为

CTime t(1970,1,2,0,0,0);

就可以了,所以进行日期相减的时候需要加上这24小时的秒数。

原文地址:https://www.cnblogs.com/tk091/p/2467313.html