En faite je souhaiterai que mon programme déjà compilé puisse généré un .exe (en l'extractant des ressources) mais que avant que le .exe soit généré l'on ai la possibilité de le paramétrer grâce au programme (compilé). Je sais pas si je suis compréhensible...
Pour être plus précis il faudrait que ce que l'on met dans les texbox.text du programme puisse modifier les textbox.text du .exe généré.
J'ai cherché et je n'ai trouvé que ces codes :
Le problème est que je ne le comprend pas, je sais pas comment l'utiliser correctement. Si quelqu'un pouvais m'expliquer s'il vous plait. Merci !
Imports System.CodeDom.Compiler
Imports System.Reflection
'Dans le bouton
Dim codeProvider As VBCodeProvider = New VBCodeProvider
Dim compiler As ICodeCompiler = codeProvider.CreateCompiler
Dim parameters As CompilerParameters = New CompilerParameters
parameters.GenerateExecutable = True
parameters.OutputAssembly = "NomDeTonAppli.exe"
parameters.MainClass = "Helloworld.HelloWorld"
parameters.IncludeDebugInformation = includeDebug.Checked
Dim asm As [Assembly]
For Each asm In AppDomain.CurrentDomain.GetAssemblies
parameters.ReferencedAssemblies.Add(asm.Location)
Next
Dim code As String = textBox1.Text.ToString
Dim results As CompilerResults = compiler.CompileAssemblyFromSource(parameters, code)
If results.Errors.Count > 0 Then
Dim errors As String = "Compilation failed:" & Microsoft.VisualBasic.Chr(10) & ""
For Each err As CompilerError In results.Errors
errors += err.ToString + "" & Microsoft.VisualBasic.Chr(10) & ""
Next
System.Windows.Forms.MessageBox.Show(Me, errors, "There were compilation errors")
Else
Try
If Not System.IO.File.Exists("NomDeTonAppli.exe") Then
MessageBox.Show(String.Format("Can't find {0}", appName), "Can't execute.", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
Dim pInfo As ProcessStartInfo = New ProcessStartInfo("NomDeTonAppli.exe")
Process.Start(pInfo)
Catch ex As Exception
MessageBox.Show(String.Format("Error while executing {0}", appName) + ex.ToString, "Can't execute.", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
' Dans la textbox
Imports System
Namespace Helloworld
Public Class HelloWorld
Shared Sub Main(ByVal args() As String)
Console.WriteLine("Salut !")
End Sub
End Class
End Namespace
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 27 avril 2013 à 09:57
Bonjour,
Je crois en effet qu'il est possible d'écrire dans un exe, mais pas n'importe quoi ni n'importe où, moi, je ne sais pas...
Cependant c'est une solution exceptionnelle, normalement on modifie les éléments d'affichage via l'exe grâce à des fichiers que ce dernier va lire une fois lancé...
Pourquoi tu veux faire ça ?
Quelle type d'information devrait être écrite dans le textBox de l'exe lancé et par rapport à quoi... ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 27 avril 2013 à 10:18
Bonjour,
Houla ... ajouter des valeurs de paramètres à un exécutable compilé ...
C'est en effet possible (je m'en suis déjà servi par exemple sous VB6), mais à la seule condition de travailler "en miroir" de l'exécutable. Puisqu'il n'est pas possible d'écrire sur un fichier en cours d'utilisation.
Le principe :
L'exe "réel" x lance une copie de lui-même.
Sa toute première instruction est sa copie sous un autre nom y, puis lancement de y
Sa seconde instruction est de se fermer si son nom est x
Sa troisième instruction (depuis y, donc) est d'ouvrir (par Open) x pour y "pêcher" les ajouts éventuels figurant après son point d'arrêt final, puis de refermer x
Dans le code de x (et donc également de y) : on met des instructions d'ajout à x, après son point d'arrêt final) des lignes contenant les paramètres à récupérer.
C'est une acrobatie assez lourde, qui trouve très rarement sa justification. Je ne l'avais utilisée personnellement que dans le cadre d'une protection "particulière" d'une appli également "particulière".
Observation : le rajout de texte (donc de tout ce que l'on veut) après le point d'arrêt final d'un exécutable ne fait pas perdre sa qualité d'exécutable à l'exe ainsi transformé).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 27 avril 2013 à 11:02
Ouais...
Le problème c'est que souvent une personne après une lecture hasardeuse prend la décision de faire une manipulation spécifique.
Et, au lieu de demander ce qui serait le mieux selon ses besoins, elle demande comment ont fait tourner sa prise de décision, alors que souvent la réponse serait plus simple si la question préalable avait été posée...
Bonjours et merci de vos réponses ucfoutu et EhJoe Et désolé de ma réponse tardive mais je viens juste de voir les vôtres
En faite mon application est la même que Revealer Keylogger, mais celui-ci a des fonctions payant que je fais gratuite (comme les screenshot) puis j'essaie d'ajouter à ce logiciel une fonction qui serait un keylogger à distance, je m'explique, l'on générerai un exe (avec notre application) que l'on envoie sur l'ordinateur à surveiller et qui enverrai les rapports du keylogger par mail. Le problème est qu'il faut définir sur le .exe généré (par notre application) l'adresse mail sur laquel envoyer les rapports.
Paramétrer un .exe généré m'as l'air trop compliqué pour moi, je ne suis qu'un débutant. Alors j'ai pensé à définir l'adresse mail dans une textbox sur le .exe une fois généré mais le problème et que une fois le .exe envoyé la textbox se met par défaut
J'ai fais un sujet pour ce problème : A voir ici
Je tien a préciser aussi que ce logiciel n'est en aucun cas fait pour un but malsain, j'essaie juste de développer moi même un keylogger gratuit disponible pour tous (sinon je ne me casserai pas la tête à pouvoir définir une adresse mail et je mettrai juste la mienne)