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

C Discussion :

diversification de Compilateurs


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut diversification de Compilateurs
    Comment peut-on faire la différence entre deux exécutables issus d'un meme code source mais compilés par des outils différents?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Différence sur quel plan ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Savoir quel compilateur a produit quel exécutable?

  4. #4
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Citation Envoyé par Chillisse Voir le message
    Savoir quel compilateur a produit quel exécutable?
    Tu es bien avare sur les détails, mais bon... Supposons que tu écrives un programme console. Tu peux afficher des #define spécifiques au compilateur, au démarrage ou par une option de la ligne de commande (-v ou --version par exemple). Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Release version - Comp. %s %s", __DATE__ ,__TIME__);
    __DATE__ et __TIME__ étant des #defines générés par tous les compilos, sauf erreur. Mais pour avoir explicitement le nom du compilateur, je ne vois pas d'autre solution que de créer un define en dur par l'IDE de ton compilateur. Peut-être que quelqu'un d'autre est plus familier avec ce genre d'info?

    A+

    Pfeuh

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Pour plus d'infos, j'ai deux exécutables et je veux savoir s'ils ont été compilés avec deux compilateurs différents (y compris les éditeurs de liens).
    Merci pour vos avis

  6. #6
    Invité
    Invité(e)
    Par défaut
    A mon avis il doit y avoir une entête. C'est à dire qu'une lecture en hexa du début des deux exe pourrait peut-être vous donner des informations. Peut-âtre pas directement les auteurs des compilateurs-linkeurs, mais au moins des informations comparables et qui permettraient d'affiner votre recherche.
    De toute façon, je suis persuadé que l'organisation des .exe est très basique (trivial fait beaucoup mieux), et que, sauf le fait que c'est du binaire, ça doit être très simple.
    N'oubliez pas qu'un .exe contient des informations en texte du genre nom de fonction.

  7. #7
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    je ne sais pas si l'information est toujours recherchee mais dans le doute.

    Les compilateurs peuvent (ce n'est pas une obligation meme si beaucoup le fond) ajouter une signature dans le code genere.
    des outils ont rassemblee des donnees et ont realise une base pour permettre la detection du compilateur utilise. (ce n'est pas fiable a 100% il est toujours possible de modifier cette signature sois meme.
    Voici un exemple tout simple.

    Si je regarde le listing assembleur d'une source quelconque compilee avec gcc je trouve:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .ident  "GCC: (Ubuntu 4.4.3-4ubuntu5) 4.4.3"
    .section        .note.GNU-stack,"",@progbits

    Et si je fais un hexdump -C sur le binaire genere je retrouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    00001010  00 00 00 00 00 00 00 00  47 43 43 3a 20 28 55 62  |........GCC: (Ub|
    00001020  75 6e 74 75 20 34 2e 34  2e 33 2d 34 75 62 75 6e  |untu 4.4.3-4ubun|
    00001030  74 75 35 29 20 34 2e 34  2e 33 00 00 2e 73 79 6d  |tu5) 4.4.3...sym|
    Voila, j'espere que ca a repondu a la question de base et que ca servira a quelqu'un un jour
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

Discussions similaires

  1. [langage]Compilateur PERL
    Par major2 dans le forum Langage
    Réponses: 4
    Dernier message: 07/02/2007, 21h52
  2. exptression booléenne et compilateur Delphi
    Par jakouz dans le forum EDI
    Réponses: 3
    Dernier message: 24/09/2002, 13h25
  3. Compilateur - editeur C++ pour Linux
    Par Torpedox dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 15/09/2002, 02h16
  4. Newbie......compilateur et table de caractères
    Par Cyberf dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/08/2002, 14h29
  5. Compilateur natif ??? Kesako ???
    Par Riko dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 06/08/2002, 08h54

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