-
Um desmontador, desassemblador ou disassembler é um programa de computador que converte código de máquina em código escrito em linguagem de montagem. A diferença entre um desmontador e um descompilador é que este último reverte a compilação de uma linguagem de alto nível, enquanto o primeiro reverte a montagem de uma linguagem de montagem.
O código fonte em linguagem de montagem geralmente contém constantes simbólicas, comentários e rótulos de endereçamento que são normalmente removidos do código de máquina gerado. Assim, o desmontador consegue reverter apenas parcialmente o processo de montagem, pois o código fonte produzido não irá conter essas constantes e comentários. Por causa disso, o código produzido por um desmontador é mais difícil de entender (para um humano) que o código fonte original, com suas anotações.
http://pt.wikipedia.org/wiki/Desmontador
==================
A melhor forma de garantir a qualidade do software que você constrói é projetando-o cuidadosamente desde o início. Desta forma, as partes se encaixarão mais perfeitamente, e a funcionalidade de cada parte será mais simples, de maneira que você irá cometer menos erros ao
implementar as várias partes. Mas é difícil não introduzir erros durante a codificação, e uma maneira efetiva de se encontrar estes erros é através das técnicas dinâmicas: ou seja, aquelas que envolvem a execução do programa e a observação de seu comportamento. Em contraste, as técnicas
estáticas são aquelas que você utiliza para garantir a qualidade antes da execução: através da avaliação do projeto e da análise do código (seja por revisão manual, ou através de ferramentas como um verificador de tipos).
http://mit.universia.com.br/6/6.170/pdf/6.170_lecture-10.pdf
-
Gab. A
Descompilador
Programa de computador que realiza a operação inversa de um compilador, transformando código objeto em código fonte.
-
Gabarito A
Descompilador é um programa de computador que realiza a operação inversa de um compilador, transformando código objeto em código fonte. O termo entretanto é mais utilizado para designar programas de computador que traduzem código de máquina (programas executáveis) em código fonte em uma linguagem de programação de alto nível (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 desmontador transforma código de máquina em linguagem de montagem (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 máquinas virtuais(como Java e .Net) 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 !