OldSchoolHack

Registrieren / Anmelden Deutsch

Detected Detour

icon Thema: Detected Detour

Anmeldungsdatum: Mai 2012

Beiträge: 13

Danke SilverFire, aber bei mir crasht das Spiel (egal welches Dx9 Game),
wenn ich die Funktion im HookThread aufrufe. Code:

HookThread:
Spoiler
CPP Code:
  1.  
  2. DWORD WINAPI HookThread(void)
  3. {
  4. while(!hModule)
  5. {
  6. hModule = GetModuleHandle ("d3d9.dll");
  7. Sleep(200);
  8. }
  9.  
  10. dwGlobal = dwFindPattern((DWORD)hModule, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
  11. memcpy(&VTableStart, (void*)(dwGlobal+2), 4);
  12. pEndScene = ( EndScene_t )HookVTable( (DWORD**) dwGlobal, 42, (PBYTE) hkEndScene);
  13. return 0;
  14. }

HookVTable:
Spoiler
CPP Code:
  1.  
  2. PBYTE HookVTable(DWORD** VTablePtr, int VTableIndex, PBYTE HookPtr)
  3. {
  4. DWORD oldProtect;
  5. VirtualProtect((void*)((*VTablePtr)+(VTableIndex*sizeof(DWORD))),sizeof(DWORD),PAGE_EXECUTE_READWRITE,&oldProtect);
  6. PBYTE original=((BYTE*)(*VTablePtr)[VTableIndex]);
  7. (*VTablePtr)[VTableIndex]=(DWORD)HookPtr;
  8. VirtualProtect((void*)((*VTablePtr)+(VTableIndex*sizeof(DWORD))),sizeof(DWORD),oldProtect,&oldProtect);
  9. return original;
  10. }