In computer programming, an opaque predicate is a predicate—an expression that evaluates to either "true" or "false"—for which the outcome is known by the programmer a priori, but which, for a variety of reasons, still needs to be evaluated at run time. Opaque predicates have been used as watermarks, as it will be identifiable in a program's executable. They can also be used to prevent an overzealous optimizer from optimizing away a portion of a program. Another use is in obfuscating the control or dataflow of a program to make reverse engineering harder.
Created
December 23, 2018 00:13
-
-
Save TSedlar/fe1384f2de02fb778c9bf6c1adfab84d to your computer and use it in GitHub Desktop.
Bytecode Topics
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment