Science Fair Project Encyclopedia
Decompilation is the process of translating an executable program into high level source code using a decompiler. This is the inverse process to a compiler, but a general decompiler will not attempt to exactly reverse the translation steps of the particular compiler used.
Decompilation is similar to disassembly, but while disassembly translates executable code into assembly language source code, decompilation translates the same executable code to high-level language source code. There is some art to finding a single line of high-level language that best represents the equivalent block of machine code.
Decompilation of programs compiled for a virtual machine (e.g. Java byte-codes) is generally much more successful than decompilation from machine code, because of the extra information contained in virtual machine binary file formats.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details