A descompilação é adotada na engenharia reversa
de produtos de software, com o propósito de analisar
os códigos-fonte de um sistema para extrair destes a
documentação, geralmente ausente ou obsoleta, ou
para auxiliar na análise da segurança do sistema,
como na checagem de códigos maliciosos embutidos
no software. Diante deste contexto, um sistema de
descompilação consiste: