SóProvas


ID
700132
Banca
FUNIVERSA
Órgão
PC-DF
Ano
2012
Provas
Disciplina
Programação
Assuntos

Um dos usos da engenharia reversa de software é auditar um programa para avaliar sua segurança, bem como as vulnerabilidades do mesmo. Com relação aos descompiladores e desmontadores, assinale a alternativa correta.

Alternativas
Comentários
  • 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 !