Aller au contenu
Le Web des Cheminots

Décompiler un programme en C


Léman-Express

Messages recommandés

Bonjour,

J'ai écris un petit programme en C permettant de compter les points au Tarot (à 3, 4 ou 5 joueurs).

Récemment j'ai voulu faire un test avec les pointeurs ( lotrela ), j'ai cru faire un nouveau projet mais j'ai en fait écris par dessus l'ancien, qui était celui du prog de tarot.

Bilan : il me reste un vulgaire programme de test de pointeurs, et je n'ai plus la source du programme de tarot (environ 1000 lignes).

J'ai conservé l'éxécutable ailleurs, mais pas la source.

Alors, est-il possible de décompiler un programme ?

(j'ai bien trouvé un truc qui se nomme Boomerang, mais j'obtiens un code imbuvable...)

Vincent bigbisous

Modifié par cc6572
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai écris un petit programme en C permettant de compter les points au Tarot (à 3, 4 ou 5 joueurs).

Récemment j'ai voulu faire un test avec les pointeurs ( lotrela ), j'ai cru faire un nouveau projet mais j'ai en fait écris par dessus l'ancien, qui était celui du prog de tarot.

Bilan : il me reste un vulgaire programme de test de pointeurs, et je n'ai plus la source du programme de tarot (environ 1000 lignes).

J'ai conservé l'éxécutable ailleurs, mais pas la source.

Alors, est-il possible de décompiler un programme ?

(j'ai bien trouvé un truc qui se nomme Boomerang, mais j'obtiens un code imbuvable...)

Vincent mdrmdr

Le langage C n'est pas interprêtable par la machine. Pour simplifier, le compilateur traduit ton code en instructions basiques compréhensibles par le processeur. Le langage qui correspond à ces instructions basiques est l'assembleur. Si tu "décompile" un programme, tu devrais retrouver son code en assembleur (et encore... c'est vraiment dans le meilleur des cas). Et je ne connais malheureusement pas de moyen de revenir au code source... Imagine si c'était possible, tout le monde pourrait avoir le code source de Windows, et donc (<humour>) savoir que Billou tente de controler notre esprit... C'est Minus et Cortex... (</humour>) bigbisous

gom

Lien vers le commentaire
Partager sur d’autres sites

Le langage C n'est pas interprêtable par la machine. Pour simplifier, le compilateur traduit ton code en instructions basiques compréhensibles par le processeur. Le langage qui correspond à ces instructions basiques est l'assembleur. Si tu "décompile" un programme, tu devrais retrouver son code en assembleur (et encore... c'est vraiment dans le meilleur des cas). Et je ne connais malheureusement pas de moyen de revenir au code source... Imagine si c'était possible, tout le monde pourrait avoir le code source de Windows, et donc (<humour>) savoir que Billou tente de controler notre esprit... C'est Minus et Cortex... (</humour>) lotrela

gom

Ouai bon d'accord, c'est vraiment cuit bigbisous

Bon tant pis, de toute façon ce n'était que de la console... je vais me lancer dans un truc avec une interface graphique. mdrmdr

Pour info, voilà ce que me donne le truc.

Quand j'appuie sur le bouton "Step", çà change des trucs par moments...

Modifié par cc6572
Lien vers le commentaire
Partager sur d’autres sites

Ouai bon d'accord, c'est vraiment cuit lotrela

Bon tant pis, de toute façon ce n'était que de la console... je vais me lancer dans un truc avec une interface graphique. :)

Pour info, voilà ce que me donne le truc.

Quand j'appuie sur le bouton "Step", çà change des trucs par moments...

Si je comprends bien (les onglets), ça arrive quand même à te découper la structure du programme (main, + 2 procédures proc1 et proc4).

Maintenant, le contenu... euh... même en ayant programmé en C et en assembleur, c'est du charabia ! bigbisous

Le bouton "step" signifiant "étape", on peut supposer que chaque "step" représente une instruction du programme... M'enfin je trouve qu'il y a beaucoup d'infos pour une seule instruction !

Bon courage pour ton dev ! Tu te lances avec quel EDI ?

gom

Lien vers le commentaire
Partager sur d’autres sites

Si je comprends bien (les onglets), ça arrive quand même à te découper la structure du programme (main, + 2 procédures proc1 et proc4).

Maintenant, le contenu... euh... même en ayant programmé en C et en assembleur, c'est du charabia ! bigbisous

Le bouton "step" signifiant "étape", on peut supposer que chaque "step" représente une instruction du programme... M'enfin je trouve qu'il y a beaucoup d'infos pour une seule instruction !

Bon courage pour ton dev ! Tu te lances avec quel EDI ?

gom

J'utilise CodeBlocks.

Modifié par cc6572
Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.