全局API Hook的问题
查了很多资料,除了书,呵呵,我做的Hook只能Hook自己程序里边的API
我按例子做的。可是我想做的并不只是这样,想做个全局的Hook,不知错在哪里了,请各位高手指点下吧!
初始化
hModule=LoadLibrary("user32.dll");
pfMessageBoxA=GetProcAddress(hModule,"MessageBoxA");
if(pfMessageBoxA==NULL)
Hook方式
g_hinstDll=LoadLibrary("DllHookTest.dll");
g_hHook=SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)Hook,g_hinstDll,0);
共享数据
*/
#pragma data_seg(".HMCNM")
HHOOK g_hHook=NULL;
HINSTANCE g_hinstDll=NULL;
HMODULE hModule=NULL ;
#pragma data_seg()
#pragma comment(linker,"/Section:.HMCNM,rws")
Def文件
LIBRARY DllHookTest
SECTIONS .HMCNM Read Write Shared
EXPORTS
Hook
InstallHook
UninstallHook
其中两个函数的定义
BOOL WINAPI InstallHook();
BOOL WINAPI UninstallHook();
初始化都是对的,只是Hook方式那里也没错误,但就是不能成为全局的。