Main Page | See live article | Alphabetical index


A decompiler is a computer program that translates object code or machine language (the output from a compiler) into a high level language (source code).

Decompilation is a technique that allows you to recover lost source code. It is also needed in some cases for computer security, interoperability and error correction. The decompiler in general, should not be used for "cracking" other programs, as programs are protected by copyright. Cracking of programs is not only illegal but it rides on other's creative effort. Further discussion of these legal and ethical issues can be found in the article on reverse engineering.

Further reading

The dcc Decompiler by Cristina Cifuentes was developed by Cristina Cifuentes while a PhD student at the Queensland University of Technology (QUT), Australia, 1991-4, under the supervision of Professor John Gough. Mike Van Emmerik developed the library signature recognition algorithms while employed by QUT. The dcc distribution is made available under the GPL license.

REC - Reverse Engineering Compiler by Giampiero Caprino. REC is a portable reverse engineering compiler, or decompiler. It reads an executable file, and attempts to produce a C-like representation of the code and data used to build the executable file.

See also: assembler, interpreter (computer software), linker, Abstract interpretation, Top-bottom parsing, Bottom-up parsing