begin process at 2012 05 28 22:56:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

conversion d'un fichier .exe en C ou C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conversion d'un fichier .exe en C ou C++

samedi 11 décembre 2004 à 15:43:36 | conversion d'un fichier .exe en C ou C++

leomagic


[size=12]decodman[:o)[/size=12]
Salut tout le monde! Si c'est possible, est ce que vous pouvez m'aider à trouver un code source en ASM qui permetra de convertir un fichier .exe en un langage de haut niveau comme C ou c++
samedi 11 décembre 2004 à 15:56:58 | Re : conversion d'un fichier .exe en C ou C++

luhtor

Je ne crois pas qu'il existe de tel programme, au mieux tu peux désassembler un exécutable, cad le convertir en code ASM, mais c'est tout.
samedi 11 décembre 2004 à 16:56:22 | Re : conversion d'un fichier .exe en C ou C++

vecchio56

Administrateur CodeS-SourceS
Si tu trouves ca je pense que ca intéressera pas mal de gens
samedi 11 décembre 2004 à 18:09:24 | Re : conversion d'un fichier .exe en C ou C++

boumarsel

ça va interesser touuuuuuuuuut le monde...se sera une evolution ou plutot une catastrophe :)
convertir un exe en langage de haut niveau est presque impossible (par contre en ASM no probleme)
meme les elites des programmeurs dans le monde ne peuvent pas le faire, en faite il est plus facile de developper à nouveau une application similaire à l'application concerné que d'obtenir son code source apartir de l'exe.
mercredi 15 décembre 2004 à 18:01:36 | Re : conversion d'un fichier .exe en C ou C++

leomagic

Est ce que vous pouvez me donner un peu de modèle de code source qui permet de transformer un exe en ASM. Si possible avec les fonctions nécessaires, vous pourriez m'éclaircir un peu plus. Merci d'avance.
mardi 8 janvier 2008 à 04:50:09 | Re : conversion d'un fichier .exe en C ou C++

verdy_p

Ca existe, on appelle ça un décompilateur.

Le problème pour décompiler un programme exécutable est qu'il faut bien connaitre la façon dont un compilateur a produit le code de l'exécutable, car cela varie beaucoup d'une version à l'autre, et car les compilateurs, en ne cessant de s'améliorer, chamboulent complètement le code initial en un code "équivalent" mais plus optimisé en fonction de l'architecture finale. On peut donc décompiler certains programmes avec un décompilateur donné, mais pas forcément bien les autres.

Autre problème: le code "décompilé" sera dépourvu des commentaires initiaux, et souvent totalement dépourvu du nom des variables et de pas mal de fonctions (non liées par nom à une librairie partagée externe) si le programme a fait l'objet d'une suppression des données de débogage. Le décompilateur tentera alors seulement de créer des noms de variables en fonction des types de données qu'il aura pu "déduire" et de ce qu'il sait de la plateforme sur lequel le programme est sensé tourner (les API système, les structures de données système). Mais rapidement il se heurtera à l'utilisation de nombreuses autres librairies tierces (indépendantes du système et aillant chacune leur propre version).

Le code obtenu sera difficilement lisible car tout ne pourra pas être déduit (notamment de nombreuses constantes auront des valeurs "magiques" car précalculées par le compilateur sans savoir comment elles ont été obtenues.

Au mieux, on peut éventuellement obtenir un code C (voire C++) immédiatement recompilable tel quel mais très difficile à modifier (car le code source cachera pas mal de déductions faites par le compilateur d'origine, dont de nombreuses dépendances et interactions, qu'il va vous falloir déduire avec votre propre intelligence). C'est peut-être plus pratique pour certains d'analyser un code ainsi converti avec difficulté en C ou C++, que le code en assembleur, mais la puissance expressive du C/C++ sera rarement bien meilleure que celle de l'assembleur. De plus convertir un code assembleur en C ne garantit pas qu'en recompilant ce code C (en assembleur puis code binaire) on obtiendra exactement les mêmes résultats, car chaque compilateur C va réorganiser le code et éventuellement d'une façon inattendue incompatible avec ce que faisait réellement l'ancien programme dont le code source original mentionnait des contraintes pour le compilateur, contraintes supprimée lors de la compilation originale dans le code exécutable obtenu.

En revanche, la décompilation d'un programme compilé en Java ou C# (ou un code intermédiare pour une machine virtuelle) a de bonnes chances d'obtenir quelquechose de très lisible et facile à exploiter, puisque la partie finale de la compilation en code exécutable n'est pas faite par le compilateur d'origine en présumant d'une plateforme théorique (non optimale) mais directement sur la machine hôte (où des optimisations supplémentaires et plus pertinentes seront possibles). C'est une raison supplémentaire du succès des langages à machine virtuelle, qui arrivent à battre maintenant en performance un certain nombre de programmes même ecrits en C ou assembleur (car ces derniers nepeuvent être optimisés que pour un nombre très restrictif de machines cibles, ou doivent être compilés en autant de versions que de machines cible, ce qui est devenu un véritable casse-tête avec la multiplication des plateformes dites "compatibles" mais qui ont des comportements et performances très différentes).

Raison de plus pour s'intéresser aux langages qui se compilent en deux passes: une compilation unique pour une machine virtuelle bien testée, l'autre réalisée par la machine hôte elle-même. De plus, cela permet de mieux tester l'application elle-même, et de diviser la tâche de façon plus efficace d'autres se chargeant de tester les machines hôtes et de les optimiser et les certifier dans un effort commun qu'aucun programmeur ne pourrait aujourd'hui réaliser seul.


Cette discussion est classée dans : fichier, exe, font, conversion, red


Répondre à ce message

Sujets en rapport avec ce message

Concaténation [ par DJ God ] [redQuel caractère utiliser pour concaténer un texte avec une variable ?][/red] [red]AIDEZ MOI !!!!! AU SECOUR !!!!![red] [ par SidSilver ] COMMENT ENVOYER UN MAIL AVEC PIECE JOINTE EN VISUAL C++ 6.0 ??????????? <img src= conversion d'un string [ par bastiente ] Ba$t :bonjour... Voila je travaille sur un fichier ou figure la valeur : 32 989,88Je dois la retourner dan un autre fichier. Ca c'est fait, mai je doi fichier tasm32.exe [ par Heero ] Salutj' utilise bcc55 pour compilermais j' ai besoin pour mon prog d' utiliser le parametre de compilation assembleur mais ce parametre necessite le f modification d'un fichier .exe [ par jackky ] salut je voulais savoir comment faire un fichier .exe en c++(crack) pour changer un saut dans un fichier .exeexemple00401595 7416 je 004015ADCHANGER comment inserer des données dans un exe [ par vdox05 ] Bonjour,J' aimerais inserer les données d' un fichier image à l' interieur d' un executable.En fait il faudrait qu' il y ait deux fichiers à l' interi [VC]mettre un Fichier dans les ressources d'une exe et que l'exe puisse le copier allieur sur le disk [ par cybmat ] en fait je veut que mon exe est un autre fichier dans "lui" ( dans c ressource ou autre) et qu'il le copy sur le disk a uen action du programme.merci ouvrir un exe [ par xleureaud ] j'ai besoin d'ouvrir un exe car je n'ai pas le source C++ Petit soft de package [ par xionoxid ] SalutIl y a 2 semaines que j'ai commencé le c++enfaiteje cherche à faire un programme qui permet de mettre plein de fichier en 1 exe et quand on lance Conversion d'un .doc en .txt [ par lebcel ] Je voudrais écrire un programme en Langage C qui convertit un fichier .doc en un fichier texte mais je ne sais pas trop comment m'y prendre.


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales