このフック エンジンの使用に問題があります http://www.codeproject.com/Articles/21414/Powerful-x86-x64-Mini-Hook-Engine
関数は正しくフックされていますが、実際の関数 (オリジナル) を呼び出そうとすると、ACCESS_VIOLATION エラーが発生します。
私のコード
typedef int (__stdcall *MyCloseSocket) (SOCKET s);
MyCloseSocket pTrampolineCloseSocket = NULL;
int main()
{
//...
HookFunction((ULONG_PTR) GetProcAddress(LoadLibrary(dll), "closesocket"), (ULONG_PTR) &OwnCloseSocket);
pTrampolineCloseSocket = (MyCloseSocket) GetOriginalFunction((ULONG_PTR) OwnCloseSocket);
}
int OwnCloseSocket(SOCKET fd)
{
// here successfully. Function is hooked
return pTrampolineCloseSocket(fd); // but here ACCESS_VIOLATION
}
私が間違っているのは何ですか?ありがとう!