Bonjour,
Est-ce possible de réaliser un exécutable qui créé un exécutable ? (la réponse est bien sûr oui, mais comment ? une piste ? une idée? ou un débat?)
Comme par exemple un créateur d'installateur qui créé un installateur .
Merci
Bonjour,
Est-ce possible de réaliser un exécutable qui créé un exécutable ? (la réponse est bien sûr oui, mais comment ? une piste ? une idée? ou un débat?)
Comme par exemple un créateur d'installateur qui créé un installateur .
Merci
pour créer un executable il te fo deja un compilateur
a moins qu'il ne veuille faire un compilateur...
Dans ce cas la, bon courage!!!Envoyé par damienlann
Salut !
Esque qu'il ne veux pas plutot faire un fichier archive SFX comme le fait WinRar par example !?![]()
++
Comment ça il me faut un compilateur??
Prenons l'exemple de Nullsoft qui créé un installateur..
comment il fait pour créer un exe ?
Ne me dis pas que que Nullsoft joins un compilateur C++ avec
il doit y avoir 1 astuce !
a on avis , l executable doit etre deja créer et toi tu ne fais que rajouter des parametre dans des autres fichier , je pense , sinon il dispose vraiment d un compilateur (pas forcement du c++)
Salut !
Je croi qu'il y a différentes solutions pour faire un installeur !
La plus simple à mon avis,c'est de faire un éxecutable qui est capable d'executer certain commandes qui lui seront passé en utilisant un fichier text par example !
Et lors de la céation ou la configuration de l'installeur(les fichiers à inclure pour être installés aprés,leur déstination lors de l'installation,message à afficher....),un fichier sera créé qui résume tout ces manip,et en plus les fichiers qui vont être installées,seront ajoutés à l'executable lui même comme étant des ressources(comme le fait l'outil "ResHaker" par example)...
Comme résultat ,on aura un seul fichier(l'executable) qui contient tout les fichier à installer + un fichier text qui contient les informations de ces fichiers et les commandes à éxecuter,donc l'executable (ou l'installeur) n'as qu'à tout éxtraire dans dossier tomporaire,et lire ce qu'il doit faire depuis le ficher text,et commancer l'installation...
Autres fonction qui devrai faire comme Compression,personnalisation,mise à jours...
Conclusion: ça dépond de ce que tu veux,et de ce que tu peu faire![]()
a+
si tu veu un installeur
http://jeg.developpez.com/jinstaller/
Votre question est très générale. On peut toujours charger dans un TMemoryStream un exécutable type et le modifier par programme pour obtenir un autre exécutable. Par exemple, imaginons Project1.exe qui contienne simplement un bouton affichant "Bonjour" sur clic d'un bouton, on peut créer un programme qui lise ce Project1.exe et change Bonjour en Bonsoir et crée Project2.exe sur clic d'un bouton.Envoyé par echap2000
À partir de là, même si c'est très rudimentaire (on n'a fait que changer une chaîne en une autre de même longueur), tous les délires sont possibles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 void __fastcall TForm1::Button1Click(TObject *Sender) { int L; char *F; TMemoryStream *MS; MS=new TMemoryStream(); MS->LoadFromFile("Project1.exe"); L=MS->Size; F=new char[L]; MS->Read(F,L); Change(F,L,"Bonjour","Bonsoir"); MS->Position=0; MS->Write(F,L); MS->SaveToFile("Project2.exe"); delete MS; delete[] F; Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Change(char* P, int L, char* a, char* n) { int NbC,i,j,k; bool ok; NbC=strlen(a); i=0; do { ok=(Egal(P,i,a)); if(ok) for(k=0;k<NbC;k++) P[i+k]=n[k]; if(!ok) ok=(i++==L-NbC-1); } while(!ok); } //--------------------------------------------------------------------------- bool __fastcall TForm1::Egal(char* P, int i, char* a) { int NbC,j; NbC=strlen(a); for(j=0;j<NbC;j++) if(P[i++]!=a[j]) return false; return true; }
À bientôt
Gilles
c'est juste ! je viens d'analyser un logiciel qui créait sois-disant un fichier exe mais non ! il renommait un fichier .dll (qui à la base est un Exe) en .exe. Mais il ajoute un fichier à cet exe, (ou modifie cet exe)
Savez-vous comment ajouter un fichier à un exe ?
j'ai écris un mail au créateur d'un logiciel qui fait exactement ce que je veux que ça fasse. et il l'a expliqué :
[/FONT][FONT=Tahoma]Salut,
C'est une technique assez spéciale, en fait les .exe ou .dll sous windows peuvent contenir des ressources et windows permet facilement d'en rajouter via les API de gestion des ressources fichiers. donc dans un premier temps je creer un objet ZipArchiver et j'ajoute tout les fichier qui m'interesse, ensuite je creer un fichier texte qui indique a quel endroit doit s'installer chaque fichier, enfin je demande (via une API windows) a les mettre dans les ressource d'un programme deja creer. Ce programme ce charge d'extraire les ressource qu'il contient. J'ai developpé sa en Delphi voila les API que j'ai utilisé pour acceder au ressources :
Dans le "compilateur" :
BeginUpdateResource();
UpdateResource(); EndUpdateResource();
Dans l'extracteur :
FindResource(); LockResource();
UnlockResource();
FreeResource();
Partager