1

我一直在挂钩一些功能以保护我的应用程序,我正在使用 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
}

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

4

0 回答 0