Method hooking

Method hooking beschreibt ein Verfahren, bei dem eine Methode einer Anwendung zur Laufzeit mit einer anderen, neu erstellten Methode ersetzt wird. Die ursprüngliche Methode bleibt erhalten und kann aufgerufen werden, jedoch ist dies nicht erforderlich. Auf diese Art und Weise wird derselbe Methodenaufruf von der Anwendung durchgeführt; es wird jedoch eine andere Methode ausgeführt.

Grafische Darstellung des Verfahrens

Grafische Darstellung des Verfahrens#

public int a() { int x = b(); ... }

public int b() { ... return c; }

public int a() { int x = c; ... }

Beschreibt den Ablauf eines normalen Programms

Im Funktionskörper (a) wird Funktion (b) aufgerufen. Im Funktionskörper (b) wird die Variable (c) definiert und an die aufrufende Funktion zurückgegeben. Der Rückgabewert des Funktionsaufrufs wird der Variable (x) zugewiesen.