Pouvez-vous recommander un décompilateur Java pour Eclipse? Mes autres questions sont les suivantes: quelles sont les restrictions à l'utilisation d'un code décompilé provenant d'un autre programme Java? Illégal ou quoi? Je ne sais pas beaucoup sur les licences. Merci d'avoir lu.
Je suggérerais celui qui apparaît sur google, qui est le JD décompilateur Java . Il fonctionne vraiment bien.
En ce qui concerne les restrictions, il vous faudrait lire une licence de logiciel particulier, il pourrait être écrit que toute méthode de décompilation est interdite.
J'aime JadClipse - mais cela montre son âge par endroits. Tu auras besoin de:
Il y a plusieurs lacunes:
J'ai essayé plusieurs décompilateurs et la plupart d'entre eux n'ont pas réussi à produire une source correcte pour l'applet que je tentais de décompiler (qui était http://mrl.nyu.edu/~perlin/experiments/emotive-actors/ , au cas où quelqu'un voudrait se reproduire).
Celui qui a parfaitement fonctionné était Cavaj 1.11 , le code qu’il génère ne contient aucune erreur de syntaxe et l’applet compilée à partir des sources est identique à l’original. Ce qui me manquait du côté de l'interface utilisateur était: Les raccourcis clavier Ctrl-A/Ctrl-C ne fonctionnaient pas et aucune conversion par lots n'était disponible.
Les autres décompilateurs que j'ai essayés étaient:
JD est le meilleur décompresseur Java que je connaisse.
Je ne peux pas répondre à votre première question: ce serait partial, peut-être ...
Concernant votre deuxième question, la décompilation est légale. Ce point est très important pour moi. Jetez un oeil sur cette page intéressante: http://www.program-transformation.org/Transform/LegalityOfDecompilation
J'ai trouvé JD très bon. Cependant, je suis tombé sur un ou deux bugs mineurs qui ont entraîné un comportement inattendu au moment de l'exécution.
Par exemple, j'ai eu un exemple où l'instruction de cas originale n'avait pas de "pause" sur le dernier nœud (parce que cela est naturellement inutile), mais parce que JD a fini par réorganiser les nœuds, cela signifiait que le cas "par défaut" était appelé de façon inattendue. J'ai également eu un problème avec les jeux de caractères pour lesquels j'avais besoin d'appels supplémentaires toString () à la fin de la session pour pouvoir se déconnecter comme prévu. A part ça, c'était génial!
J'ai utilisé un autre décompilateur DJ pour m'aider à comprendre ce qui n'allait pas avec le code décompilé par JD. Mais il y avait d'autres choses que DJ ne pouvait pas gérer, alors je suppose qu'un mélange des deux décompilateurs a fonctionné pour moi :)
J'espère que M. Dupuy lira ceci!