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:
A
Em traduzir um programa escrito em linguagem
de alto nível para uma linguagem de máquina,
cujas instruções podem ser executadas por um
processador.
B
Num processo de analisar sintaticamente um
programa para determinar se a estrutura do
código de máquina pertence à linguagem alvo do
programa de alto nível.
C
Num conjunto de programas que, a partir da
leitura de um programa escrito em código de
máquina, realiza sua montagem em instruções
mnemônicas em Assembly.
D
Num conjunto de programas que, a partir da
leitura de um programa escrito em código de
máquina, traduz o mesmo em programa
equivalente em uma linguagem de alto nível.