首页
社区
课程
招聘
[旧帖] 求助!关于WINAPI函数的问题 0.00雪花
发表于: 2012-7-13 23:08 4457

[旧帖] 求助!关于WINAPI函数的问题 0.00雪花

2012-7-13 23:08
4457
各位朋友,我想在一个自己写的WINAPI类型的函数中,添加一段可以实现获取并记录当前时间的代码,应该怎么做?
下面是该函数:

int WINAPI IATMessageBoxA(HWND hWnd, LPCTSTR lpText,LPCTSTR lpCaption,UINT uType )
{  
int nReturn=0;  
nReturn=MessageBoxA(hWnd,"Hooking MessageBox by IAT",lpCaption,uType);  
return(nReturn);  
}  

急用,在线等,谢谢!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
GetSystemTime
2012-7-13 23:22
0
雪    币: 91
活跃值: (57)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
你没有指明你需要什么样的精度的时间。时间是用来记录什么的,例如记录事件的发生,那么一般到秒就可以;  要是用来看算法之类需要的时间,那么要尽可能精确才行。下面的函数都是API函数,你看情况使用吧。

1.  GetSystemTime/GetLocalTime 可以获取年,月,日,时,分,秒之类的,具体可以看参数的定义。

2.  计算时间间隔的话,建议你使用QueryPerformanceFrequency以及QueryPerformanceCounter。一般用于获取秒级以下的时间。
2012-7-14 01:08
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
补充一下,这个函数是用在API HOOK中,是用来替代我们要HOOK的函数MessageBOxA()的,整个源代码会生成一个.dll文件。
按照大家的提示我使用了GetSystemTime(),并用printf()输出,可是看不到任何结果呢?
2012-7-14 08:07
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我不太懂C,但是这个函数不是输出到命令行的么
2012-7-14 17:26
0
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
7
asm
    pushad
      xor eax,eax
      rdtsc
      mov tsc,edx
    popad
  end;
2012-7-15 16:34
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
FILE * pFile = fopen( "log.txt" , "wb" );
        if ( NULL != pFile )
        {
                SYSTEMTIME Time;
                GetSystemTime( &Time );
                fprintf( pFile , "Year:%d , Month:%d , Day:%d , Hour:%d , Minute:%d , Second:%d\n" , Time.wYear , Time.wMonth , Time.wDay , Time.wHour , Time.wMinute , Time.wSecond );
                fclose( pFile );
                pFile = NULL;
        }
这个封装成函数,楼主可以按照要求自己扩展。
2012-10-18 14:17
0
游客
登录 | 注册 方可回帖
返回
//