ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
450
450
EMPFEHLEN
-
So ich bin es schon wieder

Weiß jemand wie man eine DLL in ein Programm reincompiled, und dann wenn man das Programm ausführt, sollte diese DLL aus dem Programm rauskopiert werden. Ich möchte dies bewerkstellen, ohne ein Installshield zu benutzen oder so. Ich hoffe ihr versteht was ich mein
thx Executer"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
12.02.05 17:38 #2
Falls die Dll von dir ist, dann solltest du vielleicht darüber nachdenken,
aus deiner Dll eine statische Bibliothek (.lib) zu machen, dein Ansatz
widerspricht jedenfalls eigentlich der Philosophie einer Dll.
Oder wie wäre es mit einem selbstextrahierenden Zip-Archiv ?
BadMourning
-
naja für nen Hook z.B braucht man soweit ich weiß ne Dll...
Und ein selbstextrahierendes Zip-Archiv möchte ich nicht.
//Edit: sorry hab vergessen zu sagen dass die Dll von mir ist
Geändert von Executer (12.02.05 um 18:41 Uhr)
"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
Was spricht dagegen,die DLL von Haus aus neben deiner .exe liegen zu lassen?
Ansonsten würde ich in Richtung FindResource, LoadResource, LockResource schielen (ganz stark). Einfach eine binäre Ressource erstellen mit deiner Datei, und dir dann mit den Befehlen oben einen Pointer drauf holen. Das ganze rausschreiben und fettich.
-
13.02.05 16:38 #5
- Registriert seit
- Jan 2002
- Ort
- Bayern
- Beiträge
- 1.390
Also bei einem Hook benötigt man nicht unbedingt eine DLL, nur wenn man einen Systemhook erstellen möchte.
Gruß Danielwe would change the world if god gave us the source code...
and remember, science is nothing more than reverse engineering nature...
Current projects:
- LdrawConverter
-
ok danke ich werds mal versuchen
wenn ich nicht weiterkomme, meld ich mich wieder
"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
Ich bins schon wieder. Ich habe jetzt die Dll hinzugefügt und sie IDR_DLL genannt und den Resourcentyp DLL.
mit dem Code
bekomme ich den Fehler 1814 welcher besagt, dass der Resourcenname nicht vorhanden sei...Code :1 2 3 4 5 6 7 8 9 10
HRSRC temp; temp =FindResource( NULL, // module handle "IDR_DLL", // pointer to resource name "DLL" // pointer to resource type ); char ch[20]; int i = GetLastError(); itoa(i,ch,10);
Kann mir jemand einen Tip geben, wie ich es hinbekomme?
Danke"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
Hi ...
Du musst den Ressourcen-Namen mit dem Macro MAKEINTRESOURCE umwandeln. Schau dazu mal in die MSDN. Da findest du auch noch Informationen zu Resourcen-Typen, das kann dir evtl auch nützlich sein...
Gruß
Shai
-
OK vielen Dank für die schnelle Hilfe.
Für alle die zu faul für die MSDN sind
:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
WORD wInteger=IDR_DLL;//name of resource char* name; name=MAKEINTRESOURCE( wInteger // integer to convert ); HRSRC temp; temp =FindResource( NULL, // module handle name, // pointer to resource name "DLL" // pointer to resource type );
Nacht allerseits"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
Sorry die Frage ist sicher nciht die schlauste aber ich komme irgendwie nciht drauf, wie ich jetzt die Datei speichern kann...
D.h. ich hab das erste Byte durch LockResource erhalten, aber jetzt komm ich nicht mehr weiter
Kann mir bitte nochmal jemand helfen?"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
Mit SizeofResource() bekommst du die Grösse der Ressource in Bytes zurück.
Dann machst du mit deinen Lieblingsfilefunktionen ein File auf, schreibst einen Daten-Block mit dem Pointer den du schon hast und der Grösse rein und machst das File wieder zu. Fettich.
-
Ich weiß nicht warum mir das ganze so schwer fällt aber wenn cih den folgenden Code benutze,
Code :1 2 3 4 5 6 7 8
FILE *f = fopen("test.dll", "wb"); fwrite( data, size, size,f); fclose(f); int i = GetLastError(); char ch[20]; itoa(i,ch,10); MessageBox(ch);
bekomme ich den Fehler 1784 The supplied user buffer is not valid for the requested operation.
Die länge der Resource hab ich zuvor bestimmt!Geändert von Executer (16.02.05 um 14:04 Uhr)
"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
-
Die Parameter zu fwrite sind falsch:
fwrite( data, size, 1, f );
Welchen Typ hat data? Eventuell musst du auf void* casten:
void* pData = (void*)LockResource( ... );
// schnippelschnappel
fwrite( data, size, 1, f );
// schnippelschnappelschnappel, das kleine Kroko...
-
Vielen vielen Dank für alles
*freu*
Sorry dass ich so oft genervt hab... aber danke an alle die mir bei meinem Problem geholfen haben. Ihr seit echt super
mfg Executer"Jeder, der den Ausdruck easy as taking candy from a baby benutzt, hat noch niemals versucht, einem Kind ein Bonbon abzunehmen."
(Robin Hood ?)
Ähnliche Themen
-
Ladebalken bei Programmstart
Von exiter28 im Forum .NET Windows FormsAntworten: 5Letzter Beitrag: 13.08.10, 13:43 -
Dialog bei Programmstart
Von soeni1987 im Forum C/C++Antworten: 0Letzter Beitrag: 06.12.07, 19:46 -
Probleme mit Programmstart
Von Bump Digger im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 24.07.06, 22:41 -
Login vor Programmstart
Von mchashi im Forum .NET ArchivAntworten: 4Letzter Beitrag: 27.03.05, 17:44 -
Fehler bei Programmstart
Von Cstar im Forum Linux & UnixAntworten: 1Letzter Beitrag: 03.07.02, 14:59





Zitieren
Login






