Um descompilador de um arquivo .class é capaz de gerar um código fonte Java, tornando possível a engenharia reversa de um sistema.