Bonjour,
Je souhaiterais savoir comment obtenir le code source Java à partir d'un exécutable : programme.exe => programme.class => programme.java
Quelqu'un saurait-il m'indiquer comment faire ?
Merci d'avance pour votre aide.
Version imprimable
Bonjour,
Je souhaiterais savoir comment obtenir le code source Java à partir d'un exécutable : programme.exe => programme.class => programme.java
Quelqu'un saurait-il m'indiquer comment faire ?
Merci d'avance pour votre aide.
Impossible.
Ben, en général un .exe n'a pas été fait en Java, hein. Un exécutable Java est plutôt en .jar. Bon, ce n'est pas impossible, juste en général pas fait.
Le code source d'un programme compilé n'est pas fourni avec ce programme et ne peut pas en être récupéré (c'est un peu le principe de "compiler" : le code source n'est pas exécutable tel que, il faut le mettre dans un format précis, autre.)
Le mieux que tu puisses espérer faire est une "décompilation" qui ne rétablira pas la source telle qu'elle était vraiment, mais sous une forme plus difficile à utiliser (instructions bizarres, noms de variables insensés, pas de commentaires).
Ah, et en général c'est illégal.
Merci.
Intéressant, Merci. ;)
Quelques précisions qui peuvent t'intéresser.
Dans l'absolu, il existe des programmes de décompilation de programme binaire.
lls produisent du code (dans un langage compilé, souvent le C) qui, une fois compilé, produit exactement le même binaire.
Du moins, en théorie, parce que c'est loin d'être efficace.
Ces programmes sont en quelque sorte des compilateurs depuis le binaire vers le C.
Sauf qu'il existe des tas de binaires différents (les assembleurs, dépendant de l'architecture du processeur)
Par ailleurs, Java est certes compilé, mais en bytecode, qui est exécuté sur un processeur virtuel, la JVM (en réalité, un peu plus qu'un processeur)
Il n'existe aucun traducteur d'assembleur vers bytecode, et encore moins vers le java.
Ma question est "pourquoi voudrais-tu ce code source?"
En effet, il y a moyen de faire autrement, en général
Pour apporter de l'eau au moulin, j'ajoute qu'il existe des programmes genre JSmooth qui permettent de transformer un .jar en .exe. Pour executer ce genre d'executable, la JVM reste necessaire donc ca suppose que le .jar est plutot embarqué dans le .exe et décompressé quelque part. Ceci dit, meme dans ce cas, je ne suis pas sur qu'il soit simple de recuperer celui-ci...