Decompilar

Descompilar é converter código de programa executável (pronto para execução) (às vezes chamado de código objeto ) em alguma forma de linguagem de programação de nível superior para que possa ser lido por um humano. A descompilação é um tipo de engenharia reversa que faz o oposto do que um compilador faz. A ferramenta que faz isso é chamada de descompilador. Uma ferramenta similar, chamada disassembler, traduz o código objeto em linguagem assembler. Existem várias razões diferentes para descompilação ou desmontagem, tais como compreender um programa, recuperar o código fonte para fins de arquivamento ou atualização, encontrar vírus es, depurar programas e traduzir código obsoleto. A descompilação foi usada pela primeira vez nos anos 60 para facilitar a migração de um programa de uma plataforma para outra.

A descompilação nem sempre é bem sucedida por uma série de razões. Não é possível descompilar todos os programas, e dados e código são difíceis de separar, porque ambos são representados de forma semelhante na maioria dos sistemas informáticos actuais. Os nomes significativos que os programadores dão às variáveis s e funções s (para torná-las mais facilmente identificáveis) não são normalmente armazenados em um arquivo executável, por isso eles não são normalmente recuperados na descompilação.

Descompilação é às vezes usada de forma antiética, para reproduzir o código fonte para reutilização ou adaptação sem a permissão do detentor dos direitos autorais. Os programas podem ser desenhados para serem resistentes à descompilação através de meios de proteção, tais como a ofuscação .