-
-
hook api GetTickCount 出现的问题?
-
发表于:
2007-3-24 18:03
9069
-
hook api GetTickCount 出现的问题?
我用HOOK API 别的函数。为什么不出错~~但是一改成GETtickcount 就出错呢??
代码相关如下:
procedure HookAPI;
var
DLLModule: THandle;
dwSize: cardinal;
begin
ProcessHandle := GetCurrentProcess;
DLLModule := LoadLibrary('KERNEL32.dll' );
AddBox := GetProcAddress(DLLModule, 'GetTickCount' ); //取得API地址
JmpCode.JmpCode := $B8;
JmpCode.MovEAX[0] := $FF;
JmpCode.MovEAX[1] := $E0;
JmpCode.MovEAX[2] := 0;
//用下面的这个就行 当然相关的数数也要改变
//DLLModule := LoadLibrary('user32.dll' );
//AddBox := GetProcAddress(DLLModule, 'MessageBoxW' ); //取得API地址
OldBox := AddBox; //存放源API的地址
JmpCode.Address := @MyBoB; //取得自己的函数地址 这个就是自己定的gettickcount 函数 它返回的就是正原函数执行的值
ReadProcessMemory(ProcessHandle, AddBox, @OldProc[0], 8, dwSize);
WriteProcessMemory(ProcessHandle, AddBox, @JmpCode, 8, dwSize); //修改入口
end;
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!