New Code
D3D hook jajajajaj.
fk noobs if you don't know how to use
fk ca
fk my lyfe
fk noobs if you don't know how to use
fk ca
fk my lyfe
Code:
void CMenuMgr::SetHooks( bool bOn )
{
this->bHooked = bOn;
if(bOn){
DWORD OldProtect;
BYTE PatchBytes[] = { 0xE8, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90 };
VirtualProtect(PatchBytes, 5, PAGE_EXECUTE_READWRITE, &OldProtect);
*(DWORD*) (PatchBytes + 1) = (DWORD) (myPresent) - (DWORD) (dwPresent + 5);
memcpy((void*) dwPresent, PatchBytes, 5);
VirtualProtect(PatchBytes, 5, PAGE_EXECUTE_READWRITE, &OldProtect);
*(DWORD*) (PatchBytes + 1) = (DWORD) (myReset) - (DWORD) (dwReset + 5);
memcpy((void*) dwReset, PatchBytes, 8);
VirtualProtect(PatchBytes, 5, PAGE_EXECUTE_READWRITE, &OldProtect);
*(DWORD*) (PatchBytes + 1) = (DWORD) (myDrawIndexedPrimitive) - (DWORD) (dwDIP + 5);
memcpy((void*) dwDIP, PatchBytes, 8);
} else {
DWORD OldProtect;
BYTE RepatchBytesPresent[] = { 0x8B, 0x51, 0x44, 0xFF, 0xD2, 0x89, 0x45, 0xEC };
VirtualProtect(RepatchBytesPresent, 8, PAGE_EXECUTE_READWRITE, &OldProtect);
memcpy((void*)dwPresent, RepatchBytesPresent, 8);
BYTE RepatchBytesReset[] = { 0x8B, 0x51, 0x40, 0xFF, 0xD2, 0x89, 0x45, 0xFC };
VirtualProtect(RepatchBytesReset, 8, PAGE_EXECUTE_READWRITE, &OldProtect);
memcpy((void*)dwReset, RepatchBytesReset, 8);
BYTE RepatchBytesDIP[] = { 0x8B, 0x91, 0x48, 0x01, 0x00, 0x00, 0xFF, 0xD2 };
VirtualProtect(RepatchBytesReset, 8, PAGE_EXECUTE_READWRITE, &OldProtect);
memcpy((void*)dwDIP, RepatchBytesDIP, 8);
}
}



