Flashcard FC518881
Por que a reversão do fluxo original não é confiavelmente alcançada apenas por reconhecimento de padrões em grafos em casos de control flow flattening?
Sem classificação
CEBRASPE (CESPE) · 2025
Por que a reversão do fluxo original não é confiavelmente alcançada apenas por reconhecimento de padrões em grafos em casos de control flow flattening?
Mostrar resposta e comentário
Resposta
Não, porque control flow flattening emprega transformações que tornam ambígua a relação entre nós do grafo e os blocos originais, tornando insuficiente apenas o reconhecimento de padrões estáticos.
• Dispatcher e estado: transforma o fluxo num laço com dispatcher e estado compacto que oculta a ordem original dos blocos.
• Saltos indiretos: uso de saltos indiretos impede identificar destinos estáticos pelo grafo.
• Predicados opacos: condições não avaliáveis estaticamente tornam incierta a lógica de controle.
• Código morto: mistura de código real e código morto cria ambiguidade na correspondência de blocos.
• ISA e otimizações: instruções estendidas e otimizações de link-time alteram semântica dificultando descompilação por padrões.
• Técnicas dinâmicas: taint analysis ou execução simbólica são frequentemente necessárias para recuperar relações de dados e valores em tempo de execução.
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/515078
Conteúdo do catálogo FC Concursos · Atualizado em