Enunciados de questões e informações de concursos
Considere as afirmativas sobre descompilação e engenharia reversa.
I. Programas .net e Java são muito mais difíceis de serem descompilados, pois as representações intermediárias usadas em máquinas virtuais normalmente incluem muitos metadados e informações de alto nível que dificultam a descompilação. Já as linguagens de máquina possuem muito menos metadados, sendo bem mais fáceis de serem descompiladas.
II. Muitas empresas de antivírus utilizam engenharia reversa para analisar arquivos infectados e criar vacinas para os novos vírus. Muitos vírus utilizam as técnicas dos packers para modificar a forma que o malware se comporta e camuflar a sua presença para os antivírus, tornando muito difícil o trabalho de engenharia reversa.
III. Para dificultar ou tentar impedir a descompilação, pode-se colocar parte da funcionalidade de um aplicativo baseado em plataforma Windows em web services ou em servidores de aplicativos (como COM+ e remoting).
IV. A engenharia reversa é muito útil para aqueles que desejam tornar programas e equipamentos interoperáveis. Por exemplo, para fazer com que um programa Windows possa ser executado em Linux ou Mac e vice-versa. Mas este tipo de operação é totalmente ilegal e é realizada apenas por hackers.
V. Um obfuscator é utilizado para alterar o código-fonte de um programa de forma a impedir totalmente a descompilação de seu código assembly por qualquer disassembler.
Está correto o que se afirma APENAS em