Skip to content

Instantly share code, notes, and snippets.

@TSedlar
Created December 23, 2018 00:13
Show Gist options
  • Save TSedlar/fe1384f2de02fb778c9bf6c1adfab84d to your computer and use it in GitHub Desktop.
Save TSedlar/fe1384f2de02fb778c9bf6c1adfab84d to your computer and use it in GitHub Desktop.
Bytecode Topics

Opaque Predicates

Meaning

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.

Documents

Sources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment