https://git.free-hack.com/hamham/hotpatch_hooking
Ein kleines Beispiel welches zeigt wie man WinApis hooken kann, mittels der von Microsoft so beabsichtigten Hotpatch-Methode
(Eine bessere Erläuterung dazu hier https://blogs.msdn.microsoft.com/old...921-00/?p=9583)
Kurz erklärt sind die ersten beiden Bytes der Api mov edi, edi, was überhaupt nichts macht. Und vor der Funktion sind mindestens 5 Bytes frei. Man überschreibt also die ersten beiden Bytes mit einem jmp $ - 5, also 5 zurück. Und in diese 5 bytes platziert man dann die lange jmp instruction zu deiner Hooking-Funktion. Das hat den kleinen Vorteil, dass man keine Trampolin-Func braucht sondern einfach (OriginaleAddresse + 2) aufrufen kann um den Jmp zu skippen.
Sollte so in jedem 32bit Prozess mit den allermeisten Windows Apis funktionieren.
Eine Ausnahme sind z. B. die syscall-wrapper in ntdll.dll, z. B. NtQuerySystemInformation.
Zu denen kann ich aber sonst irgendwann mal was posten.