钩子函数的返回值

时间:2012-12-27 23:23:04

标签: c++ hook detours

为了保护我的应用程序,我一直在挂钩一些函数,我正在使用Detours(CDetour),我正在挂钩CreateThread,我的钩子函数必须与原始函数完全相同。

HANDLE WINAPI CreateThreadHook( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID
            lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId )
{
    //do hooking stuff here
}

钩子工作正常,问题是根据msdn If the function succeeds, the return value is a handle to the new thread.但是由于函数被挂钩,返回值将是我返回的任何内容,将钩子函数更改为void或其他类型只会调用没有返回值,大多导致崩溃。如何返回原始函数应返回的值?

0 个答案:

没有答案