i ver asked if someone is providing his Hooking function, i just asked how to solve it.
BTW: My Detour. ( i dont think that that one is detected )
Code:
VOID *DetourCreate (BYTE *src, const BYTE *dst, const int len)
{
BYTE *jmp = (BYTE *)malloc(len + 5);
DWORD dwback;
VirtualProtect(src, len, PAGE_READWRITE, &dwback);
MemCopy_s(jmp, src, len);
jmp += len;
jmp[0] = 0xE9;
*(DWORD *)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
src[0] = 0xE9;
*(DWORD *)(src + 1) = (DWORD)(dst - src) - 5;
for(INT i = 5; i < len; i++) src[i] = 0x90;
VirtualProtect(src, len, dwback, &dwback);
return (jmp - len);
}
My Hook thread:
Code:
VOID Hook(VOID)
{
DWORD cReset = GetVTable(16);
DWORD cPresent = GetVTable(17);
oReset = ( tReset )DetourCreate(( PBYTE ) cReset, ( PBYTE ) &HookReset, 5);
oPresent = ( pPresent )DetourCreate(( PBYTE ) cPresent, ( PBYTE ) &HookPresent, 5);
}