Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Speicher Adresse überwachen?

  Alt 8. Apr 2016, 12:23
Also der Ansatz über die Exceptions ist schonmal richtig. Fangen kannst du diese am besten, indem du einen eigenen Top-Level Exception-Handler mit MSDN-Library durchsuchenAddVectoredExceptionHandler registrierst.

PAGE_GUARD ist allerdings denkbar ungünstig (EXTREM unperformant), weil es halt die komplette Page betrifft.

Als Alternative kannst du im betroffenen (oder allen) Thread mit MSDN-Library durchsuchenSetThreadContext die Debug Register entsprechend setzen, um einen "Hardware Breakpoint" zu aktivieren. Diese Hardware Breakpoints können je nach Wunsch durch Read, Write oder Execute getriggert werden. Nachteile gibt es allerdings auch: Du kannst maximal 4 HWBPs pro Thread setzen und die "Länge" des Breakpoints erstreckt sich nur bis maximal 4 Byte (evtl. 8 Byte unter 64-Bit, da bin ich mir grade nicht mehr sicher).
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat