Ich brauche die Adresse einer Win APi-Methode ( FindWindowW
), verwende ich den Operator @
und die GetProcAddress
, aber beide geben unterschiedliche Ergebnisse zurück.
Warum sind die zurückgegebenen Werte unterschiedlich?
Da statische Verknüpfungen eine Thunk-Jump-Tabelle verwenden, um eine DLL-Funktion aufzurufen.
p2
in Ihrem Beispiel ist die korrekte Adresse der Funktion FindWindowW
in Ihrem Prozess, während p1
die Adresse einer Sprunganweisung wie dieser ist
wobei SomeAddress
auf die tatsächliche Adresse der Funktion FindWindowW
zeigt.