OldSchoolHack

Registrieren / Anmelden Deutsch

Breakpoint Hooking Problem

icon Thema: Breakpoint Hooking Problem

Anmeldungsdatum: Sep 2009

Beiträge: 4

Ahoy,

ich befasse mich seit einigen Wochen ernsthaft mit dem Thema Hack Coding in CS bzw. HL Engine.
Habe einen Loader geschrieben, welcher auch erfolgreich eine .dll injected. Nun habe ich in der .dll einige Funktionen , unter anderem eine welche Hooks für Breakpoints setzt.
Ich kann normal CS starten, den Loader starten und die .dll wird injected, aber sobald ich einen server joinen will (egal ob online, oder LAN), friert das Game ein - etwa beim letzten drittel des Ladebalkens -. Habe dann durch auskommentieren die "kaputte" Stelle gefunden, aber konnte keinen wirklichen Fehler feststellen.
Mit Ollydbg kann ich mich leider auch nicht dranhängen, denn wenn ich versuche hl.exe mit olly zu starten, dann kommt "Game currently unavailable". Wenn ich allerdings das Spiel öffne, und mich dann attache, und start drücke komme ich nichtmehr ins Game.

Hier das betroffene Stück Code:

TEXT Code:
  1.  
  2. bool bpSetHooks(void)
  3. {
  4. if (!pExceptionHandler || !bpBackupRegisters())
  5. return false;
  6.  
  7. CONTEXT ctx = { CONTEXT_DEBUG_REGISTERS };
  8.  
  9. // Register #1
  10. ctx.Dr0 = gBreakPoints.bp[0].dwAddr;
  11. ctx.Dr7 = 0x00000001;
  12.  
  13. // Register #2
  14. ctx.Dr1 = gBreakPoints.bp[1].dwAddr;
  15. ctx.Dr7 |= 0x00000004;
  16.  
  17. // Register #3
  18. ctx.Dr2 = gBreakPoints.bp[2].dwAddr;
  19. ctx.Dr7 |= 0x00000010;
  20.  
  21. // Register #4
  22. ctx.Dr3 = gBreakPoints.bp[3].dwAddr;
  23. ctx.Dr7 |= 0x00000040;
  24. return (SetThreadContext(gBreakPoints.hThread, &ctx) == TRUE);
  25.  
  26. return true;
  27. }
  28.  

Muss dazu sagen, dass dieses Codefragment nicht Original von mir stammt.
ko1n und Marvv haben das ursprünglich verwendet, also keine Flames plx

Danke für jede hilfreiche Antwort.
MFG