AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XBundler - DLLs zur Laufzeit laden

Ein Thema von hanvas · begonnen am 31. Aug 2015 · letzter Beitrag vom 1. Sep 2015
Antwort Antwort
hanvas

Registriert seit: 28. Okt 2010
157 Beiträge
 
Delphi 11 Alexandria
 
#1

XBundler - DLLs zur Laufzeit laden

  Alt 31. Aug 2015, 16:31
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ö
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#2

AW: XBundler - DLLs zur Laufzeit laden

  Alt 31. Aug 2015, 16:48
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
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
157 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: XBundler - DLLs zur Laufzeit laden

  Alt 31. Aug 2015, 17:01
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.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#4

AW: XBundler - DLLs zur Laufzeit laden

  Alt 31. Aug 2015, 18:10
Ich kenn XBundler nicht, aber vielleicht geht das: http://stackoverflow.com/questions/9...y-unit-how-use
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: XBundler - DLLs zur Laufzeit laden

  Alt 31. Aug 2015, 22:14
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...
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
157 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: XBundler - DLLs zur Laufzeit laden

  Alt 1. Sep 2015, 10:58
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ö
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: XBundler - DLLs zur Laufzeit laden

  Alt 1. Sep 2015, 11:02
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...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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