Ersetzen/Erweitern einer Api-Funktion

Ich suche nach einem Weg eine beliebige Api-Funktion einer Windows DLL durch eigenen Code zu ersetzen. Dabei will ich natürlich nicht die gesamte DLL neu programmieren müssen. Wichtig wäre auch noch, dass meine neue Funktion immer noch den Code der alten Funktion aufrufen kann.

Ich gehe davon aus, dass ich zunächst eine Funktion schreiben würde, die im Bezug auf Name,Rückgabewert und formale Parameterliste identisch mit der Orgnialfunktion ist. Aber ich habe wirklich keinen Schimmer wie es dann weitergehen muss. Wie bekomme ich die neue Funktion zusammen mit dem restlichen Code der Orginal-DLL in eine neue DLL kompiliert?


mfg, softrunner
 
Ich glaube, dass mir inzwischen selbst ein Weg eingefallen ist:

1. DLL mit einem Disassembler disassemblieren
2. Beim Kompilieren der eigenen Funktion, den Compiler anweisen, dass Assemblercode erzeugt werden soll.


Da ich jetzt beides (die DLL + eigene Funktion) in Assembler vorliegen hätte, könnte ich die Funktion, durch cut & paste einfach ersetzen und das ganze wieder assemblieren.


mfg , softrunner
 
Zurück
Oben