Utilisateur:Regards sur sciences/décompilation
La décompilation est le processus inverse de la compilation.
Il faut en fait distinguer deux cas :
- Il s'agit d'une véritable compilation, c'est-à-dire que le programme est traduit en langage machine. C'est le cas en principe du C, du Pascal, de Delphi, de Turbo Basic...
- Il s'agit d'une fausse compilation, le programme est traduit en langage intermédiaire appelé p-code ou pseudo code comme le Java, C#, Visual Basic...
Cas de la fausse compilation
modifierIl s'agit du cas le plus simple.
Le compilateur transforme les instructions en tokens. Les variables sont remplacées par leur adresse.
Il est possible de reconstituer le programme, sauf les variables remplacées par des adresses, et les commentaires qui sont perdus.