Tecnologia da Informação Desenvolvimento de Sistemas

Analise as afirmativas a seguir, relativas à reengenharia de sistemas, descompilação de programas, suas técnicas e ferramentas.

1. A descompilação de programas é realizada através de compiladores convencionais, desde que estejam configurados para obter o código fonte do programa em alto nível a partir da compilação do código que foi programado pelo usuário em alguma linguagem de baixo nível (como assembly, por exemplo).

2. Disassembler é o programa utilizado para gerar o código na linguagem assembly a partir do código binário (linguagem de máquina).

3. Win32 Program Disassembler e IDA são exemplos de disassemblers compatíveis com o Windows, enquanto que Bastard Disassembler e LIDA são exemplos de disassemblers compatíveis com o Linux.

4. Os debuggers podem ser utilizados em conjunto com os disassemblers, possibilitando que os desenvolvedores observem o comportamento da CPU durante a execução do código obtido, além de permitir a execução de uma instrução por vez e a definição de breakpoints.

5. A descompilação de programas executáveis obtém códigofonte em alto nível, preservando os nomes de variáveis e estruturas de dados presentes no código-fonte utilizado para gerar o programa executável, sempre que o executável for gerado utilizando a funcionalidade de code obfuscation presente em alguns compiladores.

Assinale a alternativa correta:

  • A. Apenas uma afirmativa está correta.
  • B. Apenas duas afirmativas estão corretas.
  • C. Apenas três afirmativas estão corretas.
  • D. Apenas quatro afirmativas estão corretas.
  • E. As afirmativas 1, 2, 3, 4 e 5 estão corretas.