What is a Decompiler?
A decompiler is a computer program which analyzes the behavior of other programs and outputs source code that describes it.
Another way of looking at what a decompiler does is to imagine a language translater. Just like a human translater can convert German texts to English, a Java decompiler can convert the bytecode of a Java program to source code.