Penguin
Note: You are viewing an old revision of this page. View the current version.

A DeCompiler transforms a program from low level language to the high level language it was originally written in. In languages such as Java, where the generated low level code is relatively close to the source language code and compilers do relatively little in the way optimisation, decompilation is viable.

Decompiling MachineCode to C is theoretically possible, but since the source and target languages are far apart and C compilers often optimise, it is usually impossible to infer the originally used C code from looking at the Compiler generated MachineCode.