-
-
[旧帖]
[求助]如何 HOOK 无参数的API? 有代码不过不能运行
0.00雪花
-
发表于:
2009-10-19 15:27
3740
-
[旧帖] [求助]如何 HOOK 无参数的API? 有代码不过不能运行
0.00雪花
MessageBoxA_NEXT :function(hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: UINT): Integer; stdcall;
GetActiveWindow_NEXT :function() : hwnd; stdcall;
.............
function GetActiveWindow_Callback(): hwnd; stdcall;
begin
//result:=0;
result:=GetActiveWindow_NEXT();
end;
function MessageBoxA_CallBack(hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: UINT): Integer; stdcall;
begin
Result:=MessageBoxA_NEXT(hWnd,lpText,lpCaption,uType);
end;
........
Hookproc('user32.dll', 'MessageBoxA', @MessageBoxA_Callback, @MessageBoxA_Next );
Hookproc('user32.dll', 'GetActiveWindow', @GetActiveWindow_Callback, @GetActiveWindow_Next );
HOOK messageboxa 是正常的。但是 GetActivWindows 却访问地址非法。
如果在 GetactiveWindow_Callback 里面直接 result:=1; 这样却是正常的。
不太会。也只是在网上搜索别人的源码然后自己看着改的。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课