Einzelnen Beitrag anzeigen

Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#3

Re: wrapper vs. function hook - theorie

  Alt 14. Mai 2005, 21:51
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
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat