Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   XBundler - DLLs zur Laufzeit laden (https://www.delphipraxis.net/186394-xbundler-dlls-zur-laufzeit-laden.html)

hanvas 31. Aug 2015 16:31

XBundler - DLLs zur Laufzeit laden
 
Hallo,

ich sehe mir gerade XBundler (AddOn zu Themida) an. Die Dokumentation ist ja mehr als dürftig.

Weiß jemand ob man mit XBundler in die EXE Datei eingebettete DLLs in irgendeiner weise mit SafeLoadLibrary zur Laufzeit laden kann. Meine diesbezüglichen Versuche schlagen alle fehl.

Danke

Ha-Jö

frankyboy1974 31. Aug 2015 16:48

AW: XBundler - DLLs zur Laufzeit laden
 
hallo,

ja geht sicher, aber (ich habs nur kurz überflogen) ist dies nicht kontraproduktiv. Oder wenn ich deine Frage richtig verstehen, wie crack ich mich in irgendwelche Software. Falls ich dein Anliegen falsch verstanden habe, dann sorry.

mfg

hanvas 31. Aug 2015 17:01

AW: XBundler - DLLs zur Laufzeit laden
 
Zitat:

Zitat von frankyboy1974 (Beitrag 1314078)
hallo,
Wie crack ich mich in irgendwelche Software. Falls ich dein Anliegen falsch verstanden habe, dann sorry.
mfg

Ich möchte die DLL ja nicht aus einem fremden Programm heraus aufrufen, sondern zu meinem eigenen Programm mit Hilfe von XBundler eine eigene DLL dazupacken und Funktionen in dieser DLL aufrufen. Also sowohl Programm wie DLL sind meins.

XBundler wird benutzt um eine oder in diesem Fall mehrere DLLs in eine Exe Datei einzubetten, so dass nur eine einzige Datei zu verteilen ist. Im Idealfall wird die DLL beim Aufruf des Programmes nur im Speicher entpackt, die Aufrufe auf die DLL sollen laut DOKU aber angeblich transparent sein.

Genau das ist es was ich machen möchte. Aber ich will die DLL nicht statisch einbinden (was funktioniert) sondern eben über SafeLoadLibrary zur Laufzeit. Vorher auf die Festplatte entpacken - was XBundler als Option anbietet - verbietet sich da das Programm sonst immer mit Admin Rechten gestartet werden muss.

Ich hoffe ich habe mich jetzt klar genug ausgedrückt.

uligerhardt 31. Aug 2015 18:10

AW: XBundler - DLLs zur Laufzeit laden
 
Ich kenn XBundler nicht, aber vielleicht geht das: http://stackoverflow.com/questions/9...y-unit-how-use

Mavarik 31. Aug 2015 22:14

AW: XBundler - DLLs zur Laufzeit laden
 
Ich kenne XBundler nicht...

Aber warum Packst Du nicht die DLL's und bindest die einfach als Resource ein.
Dann kannst Du Dir immer noch überlegen, ob Du die DLL einfach in den Speicher lädst oder auf die Platte auspackst...

hanvas 1. Sep 2015 10:58

AW: XBundler - DLLs zur Laufzeit laden
 
Zitat:

Zitat von Mavarik (Beitrag 1314113)
Aber warum Packst Du nicht die DLL's und bindest die einfach als Resource ein.
Dann kannst Du Dir immer noch überlegen, ob Du die DLL einfach in den Speicher lädst oder auf die Platte auspackst...

Das ist im Prinzip was Themida zusammen mit XBundler macht - aber XBundler verschlüsselt zusätzlich die Exe und die DLL sowie den Speicher in den die DLL geladen wird. Und das wäre mir zu viel Arbeit für das Geld.

Ich habe den Fehler ohnehin gefunden. Es scheint ein Fehler in XBunder zu sein. Wenn man die Exe mit der eingepackten DLL zum ersten Mal startet und dabei die gleiche Datei wie die "eingepackte" DLL irgendwo im Suchpfad hat greift die Exe Datei auf die auf der Festplatte vorhandenen Dateien zu. Ist diese DLL beim nächsten Start nicht vorhanden, dann wird ein Fehler ausgelöst. Wenn man hingegen beim ersten Start der EXE die eingepackte Datei nicht auf der Festplatte hat - dann funktioniert auch bei allen weiteren Aufrufen alles so wie es soll.

Vielen Dank an alle die sich Gedanken gemacht haben.

cu Ha-Jö

Mavarik 1. Sep 2015 11:02

AW: XBundler - DLLs zur Laufzeit laden
 
Zitat:

Zitat von hanvas (Beitrag 1314211)
Und das wäre mir zu viel Arbeit für das Geld.

OK... Sind zwar nur 10 Min. aber OK wenn Du den Fehler gefunden hast - um so besser...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz