Gabarito D
Descompilador é um que realiza a operação inversa de um , transformando em . O termo entretanto é mais utilizado para designar programas de computador que traduzem () em código fonte em uma (mais compreensível) que, quando novamente compilado, produzirá um programa executável de características e comportamento igual ao programa executável original. Em comparação, um transforma código de máquina em (menos compreensível).
O sucesso da descompilação depende da quantidade de informação presente no código e da sofisticação da rotina de análise. As representações intermediárias usadas em (como e ) normalmente incluem bastante metadados e informações de alto nível que facilitam a descompilação. Entretanto, linguagens de máquina possuem muito menos metadados e portanto são bem mais difíceis de serem descompiladas.
Esse programa pode ser útil caso perca-se o código fonte de um programa de computador.
Descompiladores automáticos, que geram códigos fontes a partir de arquivos binários, são a utopia de descompilação e mesmo descompiladores (ou desmontadores) avançados atualmente não são capazes de produzir tais resultados sem que o usuário tenha que tomar várias decisões antes que o código fonte possa ser efetivamente utilizado. Além disso, mesmo em casos em que a descompilação é possível, algumas características originais do código fonte como: comentários, nomes de variáveis e funções podem não ser recuperados; mas para isso analises mais detalhadas do código produzido podem ser boas alternativas.
A maioria dos programas estão protegidos por direitos autorais, e embora esses variem de região para região, as diferentes versões de leis de direitos autorais normalmente garante ao autor o direito exclusivo de fazer copias. Como o processo de descompilação envolve a produção de múltiplas copias do programa alvo, a fim de se produzir um código fonte compatível, ela costuma ser proibida sem que haja a expressa autorização do autor.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !