Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#5

Re: Globaler API-Hook funktioniert nicht

  Alt 13. Mai 2008, 12:25
Zitat von Apollonius:
Zitat:
Zitat von Apollonius:
Der Rest der Funktion ist halbwegs korrekt, auch wenn man sich das WriteProcessMemory sparen könnte.
Warum könnte ich mir das sparen?
Wir sind immer noch in unserem eigenen Prozess, also brauchen wir kein WriteProcessMemory.
Nein (kann) sollte man nicht, da der Code sonst nicht mehr Threadsafe ist. WriteProcessMemory ist nicht unterbrechbar. Schreibst du allerdings per Copy so verbraucht das mindestens zwei Assembler Schreibbefehel die unterbrichen werden können. Gut interessiert hier nicht, weil sowieso vorher nicht geprüft wird ob irgend ein Thread inherlab der Assemblerbefehle, die überschrieben werden, gerade hängt. Trotzdem sollte zumindest beim schreiben WPM gebraucht werden.

Aber so einfach wie du dir das hier vorstellst ist es wirklich nicht. Schau dir mal einige Hook implementationen an, oder benutzt bereits fertige. Für das was du da jetzt so machst, kannst du eigentlich auch ImportHooking verwenden.
  Mit Zitat antworten Zitat