SóProvas


ID
2745250
Banca
NUCEPE
Órgão
PC-PI
Ano
2018
Provas
Disciplina
Engenharia de Software
Assuntos

Acerca das técnicas e ferramentas de engenharia reversa, analise as afirmações abaixo:
I. Um debugger é um tipo de ferramenta de análise que opera em tempo de execução, permitindo manipular o programa em nível de código de máquina. Nela é possível executar o programa instrução por instrução.
II. É possível traduzir, em sua totalidade, dados binários em uma linguagem de alto nível utilizando uma ferramenta para decompilar o código, pois durante o processo de compilação são mantidas informações como nome de variáveis e de funções que identificam a estrutura dentro do código binário.
III. A característica mais complexa em relação à ferramenta disassembly é distinguir o que é dado do que é código executável, pois essa é uma ferramenta de análise estática que transforma bytes em linguagem assembly.
IV. Um ambiente virtual, como o Xen Server, propicia um ambiente para utilização de ferramentas de análise de código, uma vez que permite o uso de clones, salvamento de estado em background e snapshots, virtualizando um ambiente que simula o hardware do computador.

Está CORRETO apenas o que se afirma em:

Alternativas
Comentários
  • II - ERRADA
    Decompiladores são ferramentas que auxiliam o analista na tentativa de recuperar um código de alto nível, a partir d e um código em linguagem de máquina. Eles normalmente tentam atingir esse objetivo com a identificação de estruturas dentro do código binário, e posterior transformação dessas estruturas em uma representação de alto nível.
    Mas esse tipo de abordagem falha na maioria dos casos. O problema é que durante o processo de compilação, muitas informações são perdidas, como nomes de variáveis e de funções, e a otimização feita pelo compilador modifica a forma como a estrutura em linguagem de alto nível é mapeada para a linguagem de máquina.
    Fonte: Livro Engenharia Reversa de Código Malicioso - Guilherme Venere - Escola Superior de Redes ( pág 14)