Frage zum Einbinden von DLL's

08/15/2012 21:38 .Awesoome'#1
Heya,


undzwar hab ich mir in C++ ne kleine DLL gebastelt, und möchte diese in ne Exe ( Metin2 Binary einbinden),sprich die DLL sofort am Start der Exe laden lassen, hab aber leider keine Ahnung wie.


Padmak hatte dazu mal ein Tutorial gemacht, aber das funktioniert bei den "neueren" Exe nicht mehr.

Kann mir da jmd helfen ?


Kind Regards,


.Awesoome'
08/15/2012 22:24 Jeoni#2
Naja, da du die Source der Metin2Binary nicht hast, würde ich da mit nem Dissassembler rangehen und eben so bald wie möglich LoadLibraryA("Deine.dll") aufrufen (dadurch wird dann ja die DLLMain-Funktion in deiner DLL gestartet). Diese Methode funktioniert natürlich nur bei nativen DLLs. Die modifizierte Exe einfach überschreiben und fertig. Das funktioniert auch mit Olly.
08/15/2012 22:28 .Awesoome'#3
Hab ich probiert, das ist allerdings nicht wirklich meine Welt, kannst du mir vllt helfen ? :D
08/15/2012 22:30 Dr. Coxxy#4
wenns nicht unbedingt GANZ am anfang sein muss, kannste auch einen x-beliebigen dll-injector nehmen.

ansonsten musst du halt z.b. mit olly am anfang von der metin2.exe nen jump auf nen codecave machen, da dann deine dll laden und die überschriebenen opcodes ausführen und wieder zurückspringen.
08/16/2012 14:14 Omdi#5
DetourCreateProcessWithDll müsste eigentlich dein Problem lösen.
08/16/2012 14:46 .Awesoome'#6
Hab's hingekriegt.

Danke für die Hilfe.
08/17/2012 09:01 Tyrar#7
ein weiterer lösungsansatz: die dll mit in die IAT packen :)
08/18/2012 12:40 MrSm!th#8
Oder windows hooks