warum verwendest du dann den
asm-befehl für den realtiven jump wenn du das gar nicht willst? Dein
Api-Hook hat auch einen Schönheitsfehler. Du überschreibst den Inhalt der alten Methode so das du diese nicht mehr aufrufen kannst.
Das eigentliche Prinzip ist folgendes.
Api-Hook heißt hooken von Apifunktionen. Diese Funktionen werden durch laden der
DLL eingebunden und per GetProcAddress gesucht. Wird eine Funktion in der
DLL nicht exportiert kann man von außerhalb auch nicht einfach abfragen wo sie liegt. Alle anderen exportierten Funktionen sind aufgelistet. Wenn du diese Auflistung änderst (also die Adressen zum Funktionsnamen) brauchst du nicht den Inhalt der Funktionen überschreiben.