Predicado opaco

From Wikipedia, the free encyclopedia

En programación de computadoras, un predicado opaco es un predicado - una expresión que se evalúa a "verdadero" o "falso" - para el cual el valor es conocido por el programador a prior, pero que, por distintas razones, necesita ser evaluado en tiempo de ejecución.

Usos

Los predicados opacos han sido usados como:

  • Marcas de agua (ya que es identificable en el ejecutable del programa).
  • Método para ofuscar el flujo de control para así dificultar la ingeniería inversa. Por ejemplo si tenemos un bloque de instrucciones A;B y el predicado opaco P que siempre va a ser TRUE. Podemos crear la secuencia de control equivalente "A;IF P THEN B ELSE C". De esta forma un análisis estático de código no puede saber que A y B se ejecutan siempre de forma consecutiva.[1]
  • Para evitar que un optimizador demasiado entusiasta optimice una parte de un programa.

Referencias

Related Articles

Wikiwand AI