[VB]Creer un generateur de .exe [Résolu]

Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
- - Dernière réponse : cs_leam19
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
- 30 juil. 2012 à 22:18
Alors voila: je voudrais creer un programme en VB.net, qui va me permettre de generer des .exe a partir de codes VB
Donc, je voudrais connaitre le code quil faut pour transformer (si possible) le code VB en binaire, puis le mettre dans un fichier .exe
J'éspere que cest possible...

Merci de vos réponses, et désolé si je ne suis pas dans la bonne section ^^
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
3
Merci
Jai trouver mon bonheur:
100 fois plus simple :
http://repo.zenk-security.com/Programmation/Utilisation%20de%20Stub%20En%20VB.NET.pdf
Stub é_é

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_leam19
0
Merci
Donc tu veux que l'on réinvente la roue pour toi et que l'on te donne un compilateur. VB le fait déjà, et le Framework peut le faire en ligne de commande à partir d'un banal fichier texte.

Ça sent le PFE sans effort, mais ce n'est pas vraiment dans l'esprit de ce forum.
Commenter la réponse de Utilisateur anonyme
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
Je ne comprend pas vraiment les raisons de cette fureur ;) je me suis peut etre mal expliqué: je voudrai creer un generateur: je precise: je veux faire un logiciel qui va generer des logiciels qui beep ou on peut choisir le nombre et lintervalle entre deu bips ;)
et je voudrais si possible que ca les generent en .exe


En claire, je voudrais savoir si je epux convertir du VB en binaire et le mettre en exe dans mon programme ....
Commenter la réponse de cs_leam19
0
Merci
Fais un contrôle utilisateur. Pour le reste,va voir là.
Commenter la réponse de Utilisateur anonyme
0
Merci
Comme l'a dit cmarcotte, le compilateur vbc.exe installé avec le framework permet de générer un .exe à partir d'un fichier texte.
Ce fichier texte devra contenir du code vb classique que ton programme pourra modifier à loisirs en changeant des valeurs de variables ici ou là.
Ton programme devra lancer ensuite le compilateur vbc.exe (habituellement dans c:/windows/microsoft.net/framework/version/) en précisant le nom de ce fichier texte en paramètre ainsi que le nom souhaité de ton exe puis les noms des dll système à importer.
Exemple de ligne de commande pour une appli console :
vbc.exe code.txt /out:prog.exe /r:System.dll /r:System.Net.dll
Commenter la réponse de Utilisateur anonyme
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
Je laisse tomber ;) je ny arriverai jamais, je reessairai un jour ...
Merci de ton aide a un gros noob
Commenter la réponse de cs_leam19
Messages postés
17
Date d'inscription
dimanche 2 novembre 2003
Dernière intervention
19 mai 2012
0
Merci
Pour être programmeur, il faut être obstiné...
Commenter la réponse de El_Titof
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
je m'obstine a trouver un langage de programmation qui me va bien: jeai commencé par le C#: Mais paff, jarrivais pas a installer de bibli ;)
puis je suis passer au python: mais j aimais pas, on pouvait pas vraiment faire de exe, et ,pis linterface graphique...Puis le Java: pareil que pour le python...puis le vb, et je crois que j ai trouver ;)

Je m'obstinerai plus tard, pour l'instant, j ai d autres choses a apprendre!!!
Commenter la réponse de cs_leam19
0
Merci
Pour progresser, il existe des cours en ligne avec des exemples
Commenter la réponse de Utilisateur anonyme
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
Je le sais parfaitement
j'ai toujours suivi le site du zero, pour les tutos,
Mais bon...Google ,mon ami, ma fait faux bon ;)
Commenter la réponse de cs_leam19
Messages postés
423
Date d'inscription
vendredi 17 novembre 2006
Dernière intervention
15 juillet 2014
0
Merci
Bonjour,

Il est tout à fait possible de créer des assembly (.exe ou .dll) depuis du code .Net.

La technique se nomme " Reflection Emit ". Je vous laisse le soin d'effectuer des recherches de tuto sur le web.

La partie la plus complexe de cette technique est l'insertion du code IL.

Voici un petit exemple de code qui créé un fichier "DynamicPersonne.exe" en partant de 0. Cet exécutable est une simple console qui affiche un message, mais il nécessite déjà pas mal de réflexion.

'Déclare un nom d'assembly
Dim assemblyName As AssemblyName = New AssemblyName("DynamicPersonne")

'Crée un nouvel assembly dynamic dans l'AppDomain courant
Dim dynamicAssembly As AssemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave)
For Each s As AssemblyName In dynamicAssembly.GetReferencedAssemblies()
    Console.WriteLine(s)
Next

'Crée un nouveau module dans l'assembly
Dim dynamicModule As ModuleBuilder = dynamicAssembly.DefineDynamicModule("DynamicPersonne.exe", "DynamicPersonne.exe")

'Crée une classe dans le module
Dim dynamicType As TypeBuilder = dynamicModule.DefineType("DynamicPersonne.Program", TypeAttributes.Class Or TypeAttributes.Sealed)

'Crée une methode main dans la classe (point d'entré)        
Dim dynamicMethode As MethodBuilder = dynamicType.DefineMethod("Main", MethodAttributes.Public Or MethodAttributes.Static, Nothing, Nothing)

'Ajoute l'attribut STAThread a la methode Main
Dim t As Type = GetType(STAThreadAttribute)
Dim ci As ConstructorInfo = t.GetConstructor(Type.EmptyTypes)
dynamicMethode.SetCustomAttribute(New CustomAttributeBuilder(ci, New Object() {}))

'Récupère le MethodInfo de Console.WritLine
Dim Myconsole As Type = GetType(Console)
Dim writeLine As MethodInfo = Myconsole.GetMethod("WriteLine", New Type() {GetType(String)})

'Récupère le MethodInfo de Console.Read
Dim readLine As MethodInfo = Myconsole.GetMethod("Read", Type.EmptyTypes)

'Insert du code IL dans la methode
Dim il As ILGenerator = dynamicMethode.GetILGenerator()
il.Emit(OpCodes.Ldstr, "Je m appelle Olivier")
il.Emit(OpCodes.Call, writeLine)
il.Emit(OpCodes.Call, readLine)
il.Emit(OpCodes.Pop)
il.Emit(OpCodes.Ret)

'Materialization de la classe
dynamicType.CreateType()

'Définie le point d'entré
dynamicAssembly.SetEntryPoint(dynamicMethode, PEFileKinds.ConsoleApplication)

'Sauvegarde de l'assembly
dynamicAssembly.Save("DynamicPersonne.exe")


Vous avez maintenant les bases. A vous de jouer ...
Commenter la réponse de foliv57
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
Merci beaucoup !!!!!!
ca vas bien maider ;)
Commenter la réponse de cs_leam19
0
Merci
Bonjour,

100 fois plus simple
Tu voulais générer un exe. Ta solution modifie un exe. Donc ça n'a rien à voir.
Commenter la réponse de Utilisateur anonyme
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
ca permet de faire un builder; cest ce que je voualit
Cest vachement plus simple :P
Commenter la réponse de cs_leam19
0
Merci
Ca n'empêche que ça n'a rien à voir avec une génération de exe lol
Commenter la réponse de Utilisateur anonyme
Messages postés
10
Date d'inscription
vendredi 9 mars 2012
Dernière intervention
30 juillet 2012
0
Merci
Tu sais quoi ? :P
jai trouvé mon bonheur :P
cest ce qui compte é_é
Commenter la réponse de cs_leam19

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.