Entwickler-Ecke

Sonstiges (Delphi) - DLL eine imagebase aufzwingen


Flamefire - Sa 24.11.07 19:03
Titel: DLL eine imagebase aufzwingen
hi
ich möchte eine dll von einem programm laden lassen
dazu wird beim start des programs eine dll von mir inected die dann eine fremde dll lädt
wie kann ich dieser DLL ein andere Imagebase (ein genau festgelegte also z.b. $180000) aufzwingen?
Wenn ich mit LordPE nur die ImageBase ändere funktioniert die dll ja nicht
wenn ich meine dll an $1000000(original imagebase) lade verdrängt die zwar die original dll aber die ist dann an $1950000
wie mach ich das?


BenBE - Sa 24.11.07 19:33

Indem Du die Relocation-Procedure selber machst, die sonst LoadLibrary ausführt. Wie das geht, zeigt Dir die uallCollection (Dort gibt's ne Neuimplementation von LoadLibrary ...)


Flamefire - Sa 24.11.07 19:46

verdammt...
da seh ich nich durch...
kannst mir nen tip geben?


BenBE - Sa 24.11.07 19:48

Relocation Tabelle der DLL auswerten und die betroffenen Adressen entsprechend patchen ...

@uallCollection: Ich beim ersten Blick auch nicht. Der Source ist gewöhnungsbedürftig, aber machbar :P


Flamefire - Sa 24.11.07 19:59

ne sry ich schaffs ne...
hab keine ahnung wie ich das machen soll...