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

Autres éditeurs Discussion :

avoir le .c depuis l'.exe


Sujet :

Autres éditeurs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 1
    Par défaut avoir le .c depuis l'.exe
    Bonjour, je voudrais savoir s'il est possible et si oui comment on peut afficher le code source d'un programme en c en ayant seulement son éxécutable. Merci d'avance

  2. #2
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Impossible ! Tu peux désassembler un executable avec un désassembleur (w32dasm) pour voir le code machine (assembleur donc) mais tu ne peux récupérer directement le .c !! Sans ça le code source de windows serait déjà disponible depuis longtemps

  3. #3
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Le C à été fait en asembleur, on peut insérer du code assembleur dans un programme C alors on peux modifier ou plutôt rajouter du code a un programme déasemblé.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Bonjour, je voudrais savoir s'il est possible et si oui comment on peut afficher le code source d'un programme en c en ayant seulement son éxécutable. Merci d'avance

    Ca existe et cela s'appelle un decompiler , example boomerang : ici

    A mon avis le code seras illisible , mais bon .

  5. #5
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    ça m'étonnerais que ce genre de cochonneries marche, sinon on le saurais depuis longtemps et Bill Gate serait ruiné

  6. #6
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Idem que shugo, je vais tester mais j'y crois pas trop! Sinon ce serait vraiment une aubaine pour les crackers en tout genre !

  7. #7
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par Shugo78
    ça m'étonnerais que ce genre de cochonneries marche, sinon on le saurais depuis longtemps et Bill Gate serait ruiné
    Ca depends ce que tu appelles marcher.

    Si tu t'attends a retrouver exactement le code d'origine, noms et commentaires compris, tu vas evidement etre decu.

    Par contre il est possible de retrouver un code C correct produisant apres compilation le meme executable. Par contre il n'y aura pas de commentaire, les noms vont etre folkloriques et absolument pas parlant et la construction du code pas tres naturelle.

  8. #8
    Membre très actif
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Par défaut
    Citation Envoyé par muad'dib Voir le message
    Impossible ! Tu peux désassembler un executable avec un désassembleur (w32dasm) pour voir le code machine (assembleur donc) mais tu ne peux récupérer directement le .c !! Sans ça le code source de windows serait déjà disponible depuis longtemps
    salut quel est le role du désassembleur ? et quel information on peut voir dans le code machine ?

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Henkka
    Bonjour, je voudrais savoir s'il est possible et si oui comment on peut afficher le code source d'un programme en c en ayant seulement son éxécutable. Merci d'avance
    Non. Il y a une infinité de code C qui peuvent produire le même exécutable. Il faut apprendre à faire des sauvegardes.

  10. #10
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Je m'en doutais ça marche pas et de toute façon Emmanuel à raison il y a des centanes de façon d'obtenir le même code source, exemple pour un programme qui affiche hello Word en console il y a plusieurs solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int main(int argc, char* argv[])
    {
     printf("Hello Word\n");
    return 0;
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int main(int argc, char* argv[])
    {
     fprintf(stdout,"Hello Word\n");
    return 0;
    }
    ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int main(int argc, char* argv[])
    {
     fputs(sdtout,"Hello Word\n");
    return 0;
    }
    ou encore :
    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
     
    int main(int argc, char* argv[])
    {
     fputc(stdout,"H");
     fputc(stdout,"e");
     fputc(stdout,"l");
     fputc(stdout,"l");
     fputc(stdout,"o");
     fputc(stdout," ");
     fputc(stdout,"W");
     fputc(stdout,"o");
     fputc(stdout,"r");
     fputc(stdout,"d");
     fputc(stdout,"\n");
    return 0;
    }
    ou encore ça :
    [/code]
    ou encore :
    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
     
    int main(int argc, char* argv[])
    {
    int i = 0;
     fputc(stdout,"H");
     fputc(stdout,"e");
     for(i;i<2;i++)
    {
     fputc(stdout,"l");
    }
     fputc(stdout,"o");
     fputc(stdout," ");
     fputc(stdout,"W");
     fputc(stdout,"o");
     fputc(stdout,"r");
     fputc(stdout,"d");
     fputc(stdout,"\n");
    return 0;
    }
    le nombre de possibilitées est quasiment infini alors pour un code source d'OS......

  11. #11
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Citation Envoyé par Shugo78
    ou encore ça :
    [/code]
    ou encore :
    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
     
    int main(int argc, char* argv[])
    {
    int i = 0;
     fputc(stdout,"H");
     fputc(stdout,"e");
     for(i;i<2;i++)
    {
     fputc(stdout,"l");
    }
     fputc(stdout,"o");
     fputc(stdout," ");
     fputc(stdout,"W");
     fputc(stdout,"o");
     fputc(stdout,"r");
     fputc(stdout,"d");
     fputc(stdout,"\n");
    return 0;
    }
    J'aime bien celui là moi personnellement avec le for en plein milieu j'y aurais pas pensé

  12. #12
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Attends j'en ai plein d'autre :
    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
    int main(int argc, char* argv[])
    {
    int passage;
    int i=1;
    while(i)
    {
    passage = 1;
     fprintf(stdout,"Hello Word\n");
    if(passage==1)
    {
    i = 0;
    }
    }
    }
    return 0;
    }
    ou encore ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int main(int argc, char* argv[])
    {
    int x = 2+3;
    if(x == 6-1)
    {
    fprintf(stdout,"Hello Word\n");
    }
    return 0;
    }
    C'est pour prouver que leurs histoires de décompilateur c'est n'importe quoi.

  13. #13
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Shugo78
    C'est pour prouver que leurs histoires de décompilateur c'est n'importe quoi.
    As-tu essayé avant de dire des énormités pareilles ?

    Télécharges boomerang et essaye le.

    Bien sûr que non tu ne retrouvera jamais le code source original mais peut-etre quelque chose qui s'y approche, et sur des programmes faciles pas des machins compliqués.

    http://boomerang.sourceforge.net/cando.php?hidemenu

    Ensuite lis ça.
    http://boomerang.sourceforge.net/cantdo.php

    Donc essaye avant de poster, merci.

Discussions similaires

  1. Extraction de fichiers depuis un .exe
    Par daladim dans le forum Autres Logiciels
    Réponses: 13
    Dernier message: 23/02/2011, 19h43
  2. Réponses: 2
    Dernier message: 26/11/2009, 18h38
  3. Lancement du navigateur depuis un exe
    Par Bundy*Al dans le forum Windows
    Réponses: 1
    Dernier message: 05/10/2007, 09h10
  4. Utiliser mon fichier d'aide depuis mon exe
    Par Speed41 dans le forum Delphi
    Réponses: 2
    Dernier message: 16/05/2007, 07h24
  5. 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

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