int InstallHook(void)
{
HINSTANCE hD3D;
DWORD vTable[105];
hD3D=0;
do {
hD3D = GetModuleHandle("d3d9.dll");
if (!hD3D) Sleep(10);
} while(!hD3D);
DWORD dwPresent = GetAddressPtr(17);
DWORD dwReset = GetAddressPtr(16);
DWORD dwDrawIndexedPrimitive = GetAddressPtr(82);
if (D3Ddiscover((void *)&vTable[0],420)==0) return 0;
{
if(memcmp((void *)dwPresent, (void *)"\x8B\xFF", 2) == 0)
pPresent = (oPresent)DetourCreateE9((DWORD)dwPresent, (DWORD)myPresent, SIZEOF_MOVEAX_JMPEAX);
if(memcmp((void *)dwReset, (void *)"\x8B\xFF", 2) == 0)
pReset = (oReset)DetourCreateE9((DWORD)dwReset, (DWORD)myReset, SIZEOF_JMP_REL);
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) DetourMePleaseImNice((DWORD)vTable[82], (DWORD)myDrawIndexedPrimitive,12);
while(1)
{
if(memcmp((void*)vTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
{
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) DetourMePleaseImNice((DWORD)vTable[82], (DWORD)myDrawIndexedPrimitive,12);
}
Sleep(100);
}
return 0;
}
}
Proszę ;p
Detour ten sam co podałem