Try this?
Credits: Clone for findDevice functionCode:DWORD * FindDevice(VOID) { DWORD Base = (DWORD)LoadLibraryW(L"d3d9.dll"); for(DWORD i = 0; i < 0x128000; i++ ) { if ( (*(BYTE *)(Base+i+0x00))==0xC7 && (*(BYTE *)(Base+i+0x01))==0x06 && (*(BYTE *)(Base+i+0x06))==0x89 && (*(BYTE *)(Base+i+0x07))==0x86 && (*(BYTE *)(Base+i+0x0C))==0x89 && (*(BYTE *)(Base+i+0x0D))==0x86 ) return (DWORD *)(Base + i + 2); } return NULL; } void HookZors(void) { DWORD * VtablePtr = FindDevice(); DWORD* devicePtr = ***(DWORD****)VtablePtr; DWORD * VTable ; *(DWORD *)&VTable = *(DWORD *)VtablePtr; oReset = ( tReset )DetourCreate(( BYTE* )VTable[16], ( BYTE* )hkReset,5); oPresent = ( tPresent )DetourCreate(( BYTE* )VTable[17], ( BYTE* )hkPresent,5); }