Code source

Résolu/Fermé
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 - 20 juil. 2010 à 23:58
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 21 juil. 2010 à 18:21
Bonjour,

j'ai deux questions :

la première :
je voudrais savoir si il est possible a partir d'un .exe de récupérer le code source du programme
a mon avis non (d'ailleurs ca m'arrangerais) mais je ne suis pas sur (le .exe doit logiquement contenir le code en binaire et en regardant les actions du programme je ne sais pas trop si c'est possible d'en déduire l'instruction en langage de prog (en C dans mon cas) vu qu'il y a un nombre fini de possibilité)

la seconde :
comment (en langage c) peut on écrire depuis un programme dans un logiciel comme dev c++ ou code blocks et compiler le programme?
en gros un programme qui ferais d'autre programmes


je sais qu'il n'y aurais peut être pas une grande utilité a tout ca mais je me suis posé la question et du coup je cherche la réponse mais je ne trouve pas grand chose sur google :(


voila merci d'avance pour vos réponse


A voir également:

6 réponses

walamaru Messages postés 58 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 28 mai 2013 1
21 juil. 2010 à 00:08
ben voila ce que je sais:
pour revenir en arriere il te faut un assembleur qui genere le code source
mais crois moi c'est illisible
pour ce ke tu as dit pour les possibilites finit je crois que t'as tort .un contre exemple c'est qu'on ne peut pas determiner un mot de passe d'un programme, dans ce cas le nombre de cas croit moi c'est infinit.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
21 juil. 2010 à 08:43
Non c'est un désassembleur pour faire l'opération inverse. Et ce n'est pas le code source qu'on obtient mais le code assembleur ;-))).
0
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
21 juil. 2010 à 04:19
Salut,

Pour la première question : c'est possible parfois de récupérer le code source d'un programme. Je dis que c'est possible, mais le résultat n'est pas très exploitable. Les noms de variables, des fonctions, etc ... ne sont pas toujours récupérable, de même que pour la structuration du code et tu te retrouves avec du charabia ...

Pour la seconde question : DevCpp (très obsolète) et CodeBlocks, pour simplifier, ne sont que des éditeurs de fichiers texte (et ils sont très puissants pour ça :D). La compilation, en prenant DevCpp par exemple, et sous windows bien entendu, c'est la tâche de la suite d'outils MinGW qui est installée avec DevCpp.
MinGW, c'est une suite d'outils pour produire un exécutable à partir du code C. Elle comprend un préprocesseur, un compilateur, un linker, etc ...

Pour compiler des programmes, tu dois "diller" avec le compilateur, MinGW sous windows par exemple ou le fameux gcc sous GNU/Linux. Tu génères le code à compiler sous forme de fichier(s) (c'est très faisable en C), puis tu appelles le compilateur pour qu'il traite les fichiers produits et qu'il puisse générer un exécutable.

J'espère que je ne t'ai pas embrouillé et que je t'ai refilé quelques éléments de réponse :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
21 juil. 2010 à 08:42
Bonjour,

A partir d'un .exe tu peux retrouver le code assembleur. On parle de désassembleur. Mais si tu ne connais pas l'assembleur, tu n'iras pas bien loin avec. Sinon, tu as aussi la possibilité de décompiler le programme pour retrouver un code source possible, mais vu que la compilation est une opération irréversible, tu n'obtiendras en gros un code compilable mais vraiment pas compréhensible (sauf dans certains cas).
En gros, oublie cette voie ^^. Ou apprends l'assembleur : ce n'est pas insurmontable ;-))).

Pour la deuxième question, c'est possible en utilisant les API Win32. Mais le C n'est pas le langage le plus pratique pour faire ce genre de programme. Pourquoi ne pas utiliser un langage de script ?

Cdlt,
0
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 143
21 juil. 2010 à 12:52
d'accord merci a tous

une dernière question j'ai vu dans un film des programme qui "s'autodétruisent" une fois qu'ils ont fait ce qu'ils avaient a faire
est-ce possible? (ca m'étonnerais beaucoup quand même surtout que ca reste qu'un film^^)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
21 juil. 2010 à 18:21
Oui cest possible. Mais il faut passer par des threads.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
walamaru Messages postés 58 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 28 mai 2013 1
21 juil. 2010 à 16:32
c'est pas si diffecile que ça !
on peut creé un programme qui se supprime a la fin de son execution
avec le batch par exemple
apres le code tu ecrit
del nom.ext
et c'est fait
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
21 juil. 2010 à 18:19
Ca c'est la méthode pour supprimer un fichier. Mais ça ne marchera pas si le fichier est en exécution, ce qui sera le cas puisqu'il parle d'autodestruction.
0
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 143
21 juil. 2010 à 17:45
ok merci a tous pour vos réponses
0