Also, ein
DLL Wrapper ist im grunde eine
DLL ("fake"
dll) die die selben Funktionen exportiert, wie eine andere
DLL (original
dll), nur dass diese Funktionen die die fake
dll exportiert wiederum die original-funktionen aufrufen, aus der originaldll. Somit kann man natürlich auch in manchen Funktionen noch zusätzlichen Code unterbringen.
Das laden ist ganz einfach: Entweder man ersetzt die original
dll durch die fake
dll, oder man setzt die fake
dll einfach an eine "frühere" stelle im suchpfad, was z.B. einfach das Programmverzeichnis sein kann, in dem das Programm liegt. Somit findet das Programm bei der "suche" nach der
dll im normalfall zuerst die fake
dll, welche dann im normalfall auch geladen wird. Die Fake
DLL sollte allerdings nicht "sich selbst" finden, wenn sie nach der original
dll sucht ...
Allerdings rate ich von
DLL-Wrappern ab, da sie (theoretisch) Betriebssystemspezifisch sein müssen, genauso wie jedes "original-
dll-update" eine neue, veränderte "fake-
DLL" mit sich ziehen kann.
Dazu ist das ganze meist sau viel arbeit, vorallem bei größeren dlls ...
ciao, Philipp