Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

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

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 27. Nov 2016, 23:56
Öhm. Könnte mich bitte mal jemand aufklären was Assarbad da versucht zu machen?
Ich vermute mal, dass er einen IAT Hook basteln will, um alle Aurufe einer bestimmten API aus der kernel32.dll heraus auf einen eigenen Callback umzulenken

Jedes Modul (.exe, .dll, etc) besitzt eine eigene Import Address Table (IAT), über die Funktionen aus anderen Modulen importiert werden, da deren Position ja nicht statisch ist. Der Windows Loader füllt diese Tabelle beim Laden mit der effektiven Adresse. Ein Aufruf von MessageBoxW ist dann auf Assembler-Ebene eigentlich ein CALL [IAT.FuncPtr.MessageBoxW] (Dereferenzierung beachten). Wenn man jetzt den Zeiger im entsprechenden Feld mit der Adresse einer eigenen Funktion (die den gleichen Prototyp besitzt) ersetzt, kann man alle Aufrufe dieser Funktion abfangen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat