IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Générer un .exe de mon .exe... [Trucs & Astuces]


Sujet :

Delphi

  1. #1
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut Générer un .exe de mon .exe...
    bonjour a tous et merci d'avance pour votre aide.
    je débute en delphi :-(

    voila mon probleme.
    j'ai fait un petit soft en delphi et je cherche a savoir ci'il est
    possible de par un bouton reproduire le exe originale en double
    avec des parametre different ?

    merci d'avance pour vos info et/ou lien...

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par pierre987321
    reproduire le exe originale en double
    Moi j'appele ca une copie?

    Citation Envoyé par pierre987321
    avec des parametre different ?
    Ca me fait penser à bien des choses ce que tu demande....je me trompe sûrment alors...
    Faudrait expliquer qu'est-ce qu'un parametre pour toi?
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Pour la copie de l'exe c'est possible mais pour modifier les paramètres il faut connaitre leur offset dans le fichier. En utilisant des constantes typées cela est peut être possible.
    Il y a peut être d'autre approche, quel est ton besoin exactement ?
    Mémoriser les paramètres dans un fichier ini ou la base de registre ne suffit pas ?
    [edit]
    pas vu le msg d'Eric, pb de refresh

  4. #4
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut ..
    oui donc en faite je propose un petit soft pour le grand publique et gratuit.

    donc les personnes utilise le soft en le modifiant et les données sont sauvegardé dans un .ini

    je voudrai recompiler l'originale avec les nouveau parametre (infos) dans
    le clone pour qu'il puisse la distribuer...

    c un jeux ou tout le monde cherche la solution puis indique leur email.
    l'email doit etre sauvegarder dans l'exe, a louverture de exe reproduite
    sur le ini puis une fois finit reproduit la modification du ini dans le clone.

    vous voyez se que je ve dire ?

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par pierre987321
    vous voyez se que je ve dire ?
    Oui je comprend mieux, l'usage d'un fichier de ressource peut être une solution.
    Recherche sur le forum car un des modérateur/rédacteur du forum, Bestiol, avait proposé qq chose à ce sujet.
    Tu peux aussi consulter la JCL/JCVL, à vérifier...

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Dans ce cas, voici un outil un peu spécial qui permet justement à un
    programme de s'auto-modifier en quelque sorte.

    Tu peux le downloader sur Torry.net:
    ExeMod.pas

    Il y a quelque exemple... je crois que ca vaut le coup d'oeil.
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  7. #7
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut ..
    ok je vai voir ton lien...

    sinon j'ai peut etre trouver pour le reste (infos)
    mais ci vous avai une solution pour une auto-clone directement
    avec ou pas modification du nom je suis preuneur
    style : je clic est voila un clone

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par pierre987321
    mais ci vous avai une solution pour une auto-clone directement
    avec ou pas modification du nom je suis preuneur
    C'est exactement ce que fait ExeMod...
    Alors prépare-toi pour faire :

    Regarde les exemples, il y a aussi un peu de documentation dans des .txt.
    c'est pratiquement du plug and play cette unité.
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  9. #9
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut ..
    derniere aide car moi et l'anglais

    tu as une petite explication simplifié pour avoir
    juste un bouton sur lequel cliker pour faire le clone ?

    je comprend que c simple pour vous mais pour moi ! !
    merci d'avance...

    ps:j'ai pu voir sur google qu'il était utilisé pour des fin un p..."virus" .

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par pierre987321
    tu as une petite explication simplifié pour avoir
    juste un bouton sur lequel cliker pour faire le clone ?
    Voici en gros comment tu peux faire:
    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
     
    var
        tempstr:string;
    begin
        //Lecture de l'executable en cours
        ReadExe;
        //Ajoute une donnée de type string dans le exe en mémoire
        Add2Exe('[*MySpEcIaLDeLeMiTer*]','allo');
        //Ajoute dans l'executable un fichier
        //"test.ini" qui est dans le repertoire du exe
        Add2Exe('[*iNiInExE*]', File2String(ExtractFilePath(ParamStr(0))+'test.ini'));
        //Sauvegarde le exe en mémoire à l'endroit et avec le nom que tu veux
        Exe2File('c:\MyClone.exe');
     
     
        // Alors dans ton programme, Lecture de l'executable
        ReadExe;
        ExtractFromExe('[*MySpEcIaLDeLeMiTer*]',tempstr);
        if tempstr='' then
        begin
            //On ne retrouve pas allo! donc on est l'original!
     
        end
        else
        begin
            //On est le clone! on fait quelque chose avec
        end;
        ExtractFromExe('[*iNiInExE*]',tempstr);
        if tempstr='' then
        begin
            //On ne retrouve pas le fichier ini! donc on est l'original!
     
        end
        else
        begin
            //Extraction du .ini
            String2File(tempstr,File2String(ExtractFilePath(ParamStr(0))+'Test.ini'));
        end;
    (bon j'ai fait vite mais l'idée est là)

    Citation Envoyé par pierre987321
    ps:j'ai pu voir sur google qu'il était utilisé pour des fin un p..."virus" .
    Ben c'est en fait la force des virus... ils s'auto-modifient...pour éviter les détections.
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  11. #11
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut .
    merci pour ton aide
    je vais tester demain et je te dit le résultat...

    merci pour ton aide, tu es un

  12. #12
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut ..
    voici la solution grasse a "Eric Boisvert"
    (pour les personnes qui cherche a faire de meme).


    1/
    j'ai ajouté "'ExeMod in 'ExeMod.pas'"
    et le fichier "ExeMod.pas" dans mon dossier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    program Project1;
     
    uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      ExeMod in 'ExeMod.pas';

    2/
    Ajouter dans votre "uses" => "ExeMod;"

    3/
    Ajouter sur un bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        ReadExe;
           //Ajoute une donnée de type string dans le exe en mémoire
        //Add2Exe('[*MySpEcIaLDeLeMiTer*]','allo');
           //Ajoute dans l'executable un fichier
           //"test.ini" qui est dans le repertoire du exe
        //Add2Exe('[*iNiInExE*]', File2String(ExtractFilePath(ParamStr(0))+'test.ini'));
           //Sauvegarde le exe en mémoire à l'endroit et avec le nom que tu veux
        Exe2File('MyClone.exe'); // c:\
    end;
    merci a vous tous pour votre aide

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Si tu n'apporte aucune modification dans ton .exe... et que tu veux simplement une copie...tu n'a nullement besoin de ExeMod.pas...

    une simple copie suffie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Créer une copie de "moi-même.exe" vers "Copy of moi-même.exe"
    procedure TForm1.Button1Click(Sender: TObject);
    var
        s:string; //Source
        d:string; //Destination
    begin
        // Copie le programme en cours vers le même repertoire.
        s:=ParamStr(0); // Source (sois-même)
        d:=ExtractFilePath(s)+'Copy of '+ExtractFileName(s); // Destination
        Copyfile(PChar(s),PChar(d),FALSE); // Copie ecrasante
    end;
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  14. #14
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut ..
    je vais revoir mon code, car j'avais prévu un truc un peut bateau
    pour les modifs du soft.

    je pense que ExeMod.pas va tres me servir tout comme
    ton code que tu viens de me donner. merci merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. générer le point exe de mon application web
    Par mvc_dev dans le forum ASP.NET
    Réponses: 9
    Dernier message: 08/09/2011, 16h26
  2. Avoir le chemin de mon exe, sans le nom de l'exe.
    Par yosthegost dans le forum Delphi
    Réponses: 4
    Dernier message: 31/05/2006, 17h05
  3. [VBA-E] Possibilité de créer 1 .exe de mon appli ?
    Par teaRz dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/05/2006, 16h02
  4. Lancer mon exe au démarage de Windows
    Par zejo63 dans le forum Installation, Déploiement et Sécurité
    Réponses: 6
    Dernier message: 06/11/2005, 15h05
  5. [Delphi 2005 Architect] Liaison DLL avec mon exe
    Par SkYsO dans le forum Langage
    Réponses: 20
    Dernier message: 20/10/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo