Quanto às técnicas de engenharia reversa de software e às respectivas características, assinale a alternativa correta.
- A. A engenharia reversa é uma técnica aplicada quando se deseja realizar a refatoração do software, melhorando as respectivas estruturas internas e facilitando a leitura e a manutenibilidade do código.
- B. Ao realizar a engenharia reversa de um arquivo bytecode, pode-se visualizar um código idêntico ao real, mantendo características como o nome e o tipo das variáveis, os comentários presentes nos arquivos originais, as respectivas estruturas de controle e de repetição e o relacionamento entre as classes, entre outros.
- C. Caso sinta dificuldade para fazer com que um executável malicioso se execute em um ambiente de análise, um perito pode realizar a análise estática com base na engenharia reversa realizada por um disassembler. Assim, o perito poderá analisar o programa na linguagem utilizada para desenvolver o programa malicioso, sem prejuízo à respectiva estrutura.
- D. A análise dinâmica de um software, também chamada de análise caixa-branca, está relacionada com a análise desse software no respectivo ambiente de execução e possibilita o maior conhecimento de todas as características dessa aplicação.
- E. A análise estática do código gerado pela engenharia reversa, independentemente do tipo de código resultante, pode ser útil para encontrar funções escondidas e comportamentos não esperados de um programa. Porém, nem sempre o código gerado é idêntico ao código original.