bool HookClientWindowProc() { bool ret = NULL!=HookImportedFunction("user32.dll","RegisterClassA",0, HookRegisterClassA); ret |= (NULL!=HookImportedFunction("user32.dll","RegisterClassW",0, HookRegisterClassW)); return ret; }
BOOL DoHookProcs() { OriginalWSASendProc = (MyWSASendProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "WSASend", (PROC)MyWSASend); OriginalWSASendToProc = (MyWSASendToProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "WSASendTo", (PROC)MyWSASendTo); OriginalWSARecvProc = (MyWSARecvProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "WSARecv", (PROC)MyWSARecv); OriginalWSARecvFromProc = (MyWSARecvFromProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "WSARecvFrom", (PROC)MyWSARecvFrom); OriginalSendProc = (MySendProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "send", (PROC)MySend); OriginalSendToProc = (MySendToProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "sendto", (PROC)MySendTo); OriginalRecvProc = (MyRecvProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "recv", (PROC)MyRecv); OriginalRecvFromProc = (MyRecvFromProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "recvfrom", (PROC)MyRecvFrom); OriginalConnectProc = (MyConnectProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "connect", (PROC)MyConnect); OriginalWSAAsyncSelectProc = (MyWSAAsyncSelectProc) HookImportedFunction( GetModuleHandle(0), "WS2_32.DLL", "WSAAsyncSelect", (PROC)MyWSAAsyncSelect); OriginalGetProcAddressProc = (MyGetProcAddressProc) HookImportedFunction( GetModuleHandle(0), "KERNEL32.DLL", "GetProcAddress", (PROC)MyGetProcAddress); return true; }