首页
社区
课程
招聘
[旧帖] [求助]HOOK GetSystemTimeAsFileTime 返回值(另求邀请码) 0.00雪花
发表于: 2009-7-14 21:52 3474

[旧帖] [求助]HOOK GetSystemTimeAsFileTime 返回值(另求邀请码) 0.00雪花

2009-7-14 21:52
3474
FILETIME tt;
FILETIME WINAPI my_GetSystemTimeAsFileTime()
{
        tt.dwHighDateTime=30016363;
        tt.dwLowDateTime=-1164831744;

        return tt;
}
为什么用 FILETIME 返回会出错,而用 SYSTEMTIME 就可以?
SYSTEMTIME tt;
SYSTEMTIME WINAPI my_GetSystemTimeAsFileTime()
{
        tt.wDay=30016363;
        tt.wDayOfWeek=-1164831744;

        return tt;
}
但GetSystemTimeAsFileTime的返回值应该是 FILETIME才对啊?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
2
void WINAPI GetSystemTimeAsFileTime(
  __out         LPFILETIME lpSystemTimeAsFileTime
);

参数是指向FILETIME结构的指针
2009-7-14 22:17
0
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那请问我HOOK GetLocalTime的时候为什么返回的是正确的值呢?
SYSTEMTIME t;
SYSTEMTIME WINAPI my_GetLocalTime()
{
        t.wDay=26;
        t.wDayOfWeek=4;
        t.wHour=22;
        t.wMilliseconds =1;
        t.wMinute=58;
        t.wMonth=6;
        t.wSecond=0;
        t.wYear=2009;
        return t;
}
理论上,返回值应该是64位,但我返回__int64一样出错,但如果设置返回值大与64位却能够正常读取.
2009-7-15 10:11
0
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我查了所有 看雪 的文章,好象对GetSystemTimeAsFileTime这个API讲解的比较少吧。而且在GOOGLE和BAIDU的资料也非常有限。但我发现现在软件对GetSystemTimeAsFileTime应用的比较多,因为大家都知道GetLocalTime和GetSystemTime是经常被HOOK的`所以希望能有人解决一下这个API的HOOK问题`谢谢`
2009-7-15 10:52
0
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
为什么没个高手看我的帖子呢?
2009-7-15 17:59
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
void  WINAPI  GetSystemTimeAsFileTime(
    _Out_  LPFILETIME  lpSystemTimeAsFileTime
);
上面是这个函数的原型。
函数没有返回值
入参作为输出的数据,。
楼主的函数定义不对,肯定会出错啊。
2017-9-6 09:35
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
2017-9-10 01:05
0
游客
登录 | 注册 方可回帖
返回
//