Paramétrer un .exe généré

mirsa57 - 18 avril 2013 à 00:02
 mirsa57 - 30 avril 2013 à 13:24
Bonjours / Bonsoirs à tous,

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

4 réponses

ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
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... ?

Cordialement, Joe.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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.
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
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...

Cordialement, Joe.
0
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)
0
Rejoignez-nous