Hallo - ich versuch gerade die verschiedenen hook möglichkeiten zu verstehen.
Ich hoffe jemand hilft mir mal bei der Theorie, damit ich die methoden unterscheiden kann.
1. Import hook:
Hier werden bei allen .dlls die die zu hookende funktion verwenden die imports verbogen.
also:
getprocadress(original funktion)
dann vergleichen the thunks in der import table aller .dlls die die funktion importieren.
und die thunk adresse überschreiben - vorher die originale merken, damit man die auch aufrufen kann.
Hab ich das mal richtig verstanden?
2. memory patching - oder code hook:
hier wird dirrekt an der funktion basis also an der einsprungadresse ein jump auf die hook funktion gemacht.
dann wird die überschriebene zeile in der hook funktion auch ausgeführt und der jump wieder zurück in die originale funktion.
Stimmt das?
3. Was ist im gegenzug dazu ein Base hook? - versteh hier den terminus nicht
Wäre nett, wenn mir das jemand erklären könnte, ich möchte einfach mal die Theorie verstehen.
Danke!
Verucca
Ich hoffe jemand hilft mir mal bei der Theorie, damit ich die methoden unterscheiden kann.
1. Import hook:
Hier werden bei allen .dlls die die zu hookende funktion verwenden die imports verbogen.
also:
getprocadress(original funktion)
dann vergleichen the thunks in der import table aller .dlls die die funktion importieren.
und die thunk adresse überschreiben - vorher die originale merken, damit man die auch aufrufen kann.
Hab ich das mal richtig verstanden?
2. memory patching - oder code hook:
hier wird dirrekt an der funktion basis also an der einsprungadresse ein jump auf die hook funktion gemacht.
dann wird die überschriebene zeile in der hook funktion auch ausgeführt und der jump wieder zurück in die originale funktion.
Stimmt das?
3. Was ist im gegenzug dazu ein Base hook? - versteh hier den terminus nicht

Wäre nett, wenn mir das jemand erklären könnte, ich möchte einfach mal die Theorie verstehen.
Danke!
Verucca