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 :

Comment chercher une signature dans un fichier exécutable ?


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut Comment chercher une signature dans un fichier exécutable ?
    Bonjour,

    Savez-vous comment faire pour chercher une signature dans un fichier de type exécutable ?

    Elle pourrait être de la forme 01 EF 03 AB 05 ou 01 EF ?? AB 05.

    Quelle méthode utiliseriez-vous ?

    Utiliseriez vous les expressions régulières dans ce cas ou celles-ci non sont pas adaptées à ce genre d'utilisation ?

    Merci,
    ZiP

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    bonjour,

    il y a une solution fort simple à adapter en fonction de la taille de l'exe et des besoins

    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
     
    var
      f: file;
      size : Integer;
      data: string; // RawByteString si Delphi >= 2009
      i : Integer;
    begin
      AssignFile(f, 'fichier.exe');
      Reset(f);
      size := FileSize(f);
      SetLength(data, size);
      BlockRead(data[1], size);
      CloseFile(f);
     
      i := Pos(#$01#$EF, data);
      while i > 0 do 
      begin
        if Copy(Data, i + 3, 2) = #$AB#$05 then
         // trouvé !
          Break;
        else
        begin
          data[i] := 'Z'; // ou utiliser PosEx() si disponible
          i := Pos(#$01#$EF, data);
        end;
      end;
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Je vais essayer votre proposition de code.

    Merci,
    ZiP

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Important
    slt ;

    [zip] peut tu me dire comment ta construit ton executable a partir de l'application Delphi ?

  5. #5
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Bonjour samytto,

    Je n'ai pas encore eu le temps de travailler sur ce point mais je peux te donner la démarche que je vais effectuer :
    1. chargement du fichier dans un buffer en mémoire
    2. analyse du fichier à la recherche des signatures (je vais tester le code proposé ainsi que l'utilisation des expressions régulières et utiliser le code qui est le plus rapide).

    Si quelqu'un a une méthode plus efficace, elle est la bienvenue !

    Cordialement,
    ZiP

  6. #6
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 5
    Points
    5
    Par défaut re [zip]
    ya pas une option qui permet d'extraire un fichier qui m permettra d'utiliser l'application sur n'importe qu'elle machine independement de Delphi;

    comme les fichiers .jar pour JAVA par exemple

    merci

  7. #7
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    samytto pour du multi-système, renseigne toi plutôt dans le forum Java.

    Cordialement,
    ZiP

Discussions similaires

  1. Comment chercher une valeur dans un fichier text?
    Par lili81 dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/06/2008, 16h18
  2. Comment aller chercher une info dans un fichier
    Par El-Diablo- dans le forum C++Builder
    Réponses: 15
    Dernier message: 06/05/2007, 16h39
  3. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 14h52
  4. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06
  5. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 12h09

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