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小时的秒数。

posted @ 2012-04-23 23:23  r3call  阅读(259)  评论(1编辑  收藏  举报