Técnicas de ofuscação de código são úteis para proteger a implementação do código-fonte contra agentes mal-intencionados. Isso é especialmente importante quando, por exemplo, deseja-se dificultar o acesso ao código Javascript que é transmitido para o lado cliente de uma aplicação web ou quando se deseja proteger aplicações executadas por interpretadores chamados máquinas virtuais. Acerca dos conceitos relativos às técnicas de proteção do código fonte, assinale a alternativa correta.
- A. A ofuscação de código baseada em deslocamento de bits pode ser interpretada pelo interpretador ou compilador da linguagem de programação utilizada, sem prejuízo às respectivas funcionalidades.
- B. A criptografia e ofuscação de código é uma técnica aplicada após a compilação do programa, modificando o binário original, com o objetivo de protegê-lo de técnicas de cracking. Assim, apesar de impedir a engenharia reversa com o alto nível de proteção, a técnica tem custo muito elevado e é pouco aplicada.
- C. A criptografia e ofuscação de código é uma técnica aplicada após a compilação do programa, modificando o binário original, com o objetivo de protegê-lo de técnicas de cracking. Assim, apesar de impedir a engenharia reversa com o alto nível de proteção, a técnica tem custo muito elevado e é pouco aplicada.
- D. Realizar a ofuscação do código geralmente tem um custo associado. Isso pode manifestar-se na forma de código maior, tempos de execução mais lentos ou consumo aumentado de memória em tempo de execução.
- E. Técnicas de criptografia de código que utilizam chaves elípticas assimétricas são altamente sofisticadas e realizam uma proteção completa do código das aplicações, mas dependem de trocas de chaves constantes em pontos remotos para que o carregador da aplicação funcione corretamente. É muito utilizada em jogos on-line.