Question

Je pense que les exécutables Java (fichiers jar) sont triviaux à décompiler et à obtenir le code source.

Et les autres langues ?.net et tout ?

Quels langages ne peuvent compiler qu'en un code décompilable ?

Était-ce utile?

La solution

En général, les langages comme Java, C# et VB.NET sont relativement faciles à décompiler car ils sont compilés dans un langage intermédiaire et non dans un langage machine pur.Sous leur forme IL, ils conservent plus de métadonnées que le code C lorsqu'ils sont compilés en langage machine.

Techniquement, vous n'obtenez pas le code source original, mais une variation du code source qui, une fois compilé, vous rendra le code compilé.Il n'est pas identique au code source, car des éléments tels que les commentaires, les annotations et les directives du compilateur ne sont généralement pas reportés dans le code compilé.

Autres conseils

Les langages gérés peuvent être facilement décompilés car l'exécutable doit contenir de nombreuses métadonnées pour être pris en charge. réflexion.
Des langages comme C++ peuvent être compilés en code natif.La structure du programme peut être totalement modifiée pendant les processus de compilation/traduction.
Le compilateur peut facilement remplacer/fusionner/supprimer des parties de votre code.Il n’y a pas de relation 1 à 1 entre le code original et compilé (natif).

.NET est très facile à décompiler.Le meilleur outil pour y parvenir serait le Réflecteur .NET récemment acquis par RedGate.

La plupart des langages peuvent être décompilés mais certains sont plus faciles à décompiler que d'autres..Net et Java mettent plus d'informations sur le programme d'origine dans les exécutables (noms de méthodes, noms de variables, etc.) afin que vous récupériez davantage de vos informations d'origine.

C++ par exemple traduira les variables et les fonctions, etc.aux adresses mémoire (oui, je sais que c'est une simplification grossière) pour que le décompilateur ne sache pas comment s'appelle le truc.Mais vous pouvez toujours récupérer une partie de la structure du programme.

VB6 s'il est compilé en pcode, il est également possible de le décompiler en source presque complète en utilisant P32Dasme, Flash (ou ActionScript) est également possible de décompiler en source complète en utilisant quelque chose comme Éclater

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top