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

Langage Delphi Discussion :

Connaître le MD5 de son appli ?


Sujet :

Langage Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Par défaut Connaître le MD5 de son appli ?
    Bonjour à tous !

    J'aimerai savoir si il est possible de connâitre le hash md5 de son éxecutable et l'afficher dans un edit ou un label dans l'application. Voici la méthode pour un fichier exterieur avec le composant de DCPcrypt :

    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
    procedure TForm1.Button1Click(Sender: TObject);
      var
        Hash: TDCP_md5;
        Digest: array[0..19] of byte;  
        Source: TFileStream;
        i: integer;
        s: string;
      begin
        Source:= nil;
        try
          Source:= TFileStream.Create(Edit1.Text,fmOpenRead);  
        except
          MessageDlg('Unable to open file',mtError,[mbOK],0);
        end;
        if Source <> nil then
        begin
          Hash:= TDCP_md5.Create(Self);         
          Hash.Init;                                   
          Hash.UpdateStream(Source,Source.Size);     
          Hash.Final(Digest);                          
          Source.Free;
          s:= '';
          for i:= 0 to 19 do
            s:= s + IntToHex(Digest[i],2);
          Edit2.Text:= s;                              
        end;
      end;
    Mais cela ne marche pas quand on passe le nom de l'exe de l'appli, puisque l'éxecutable est démarré, et me génère donc une exception.

    Est-ce qu'il existe une solution autre ?

    Merci d'avance pour vos réponses !

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Par défaut MD5 dans son appli
    Désolé pour le dérangement, j'ai trouvé tout seul
    Et désolé pour le double post, j'ai pas fait attention (désolé les modos)

    Je post le résultat pour ceux que ça intéresse :

    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
    var
      Hash: TDCP_md5;
      i, hd: integer;
      Source: THandleStream;
      Digest: array[0..15] of byte;
      s, md5: string;
     
    begin
      Source:= nil;
      try
        hd := CreateFile(PChar(Application.ExeName), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
        Source := THandleStream.Create(hd);
      except
     
      end;
      if Source <> nil then
      begin
        Hash:= TDCP_md5.Create(Self);
        Hash.Init;
        Hash.UpdateStream(Source, Source.Size);
        Hash.Final(Digest);
        Source.Free;
        s:= '';
        for i:= 0 to 15 do
          s := s + IntToHex(Digest[i],2);
        md5 := s;
      end;
    end;

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 82
    Par défaut
    essai avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var 
    f: File;
     
    AssignFile(f, application.ExeName);
    Reset(f, 1);
    FileMode := 0;
    le FileMode est très important, ensuite tu devrais pouvoir faire un md5(f);

  4. #4
    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
    Billets dans le blog
    1
    Par défaut Re: MD5 dans son appli
    Salut,
    Citation Envoyé par Fab4v
    Et désolé pour le double post, j'ai pas fait attention (désolé les modos)
    l'erreur est humaine
    j'ai fusionné tes 2 messages.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Par défaut
    Encore pardon pour cette erreur (j'étais persuadé d'avoir cliqué sur répondre ).
    En tout cas bravo à tous les participants de ce site, il est vraiment formidable : c'est une source inépuisable d'information !

    Cordialement !

    Fab4.

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

Discussions similaires

  1. [Audio] Mettre de la musique sur son appli possible ? simple ?
    Par Baptiste Wicht dans le forum Multimédia
    Réponses: 23
    Dernier message: 04/08/2008, 12h56
  2. [WPF] Comment bien gérer son appli en fullscreen ??
    Par UNi[FR] dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 12/03/2008, 10h19
  3. Mettre à jour son appli
    Par cocot dans le forum Delphi
    Réponses: 3
    Dernier message: 19/02/2007, 23h07
  4. Réponses: 4
    Dernier message: 07/11/2005, 15h54
  5. Déployer une BDD avec son appli
    Par Albertolino dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 11/03/2004, 18h08

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