Opaque predicate
From HandWiki
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.[1] Opaque predicates have been used as watermarks, as they will be identifiable in a program's executable.[2] 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.
External links
References
Original source: https://en.wikipedia.org/wiki/Opaque predicate.
Read more |
- ↑ Caballero, Juan; Zurutuza, Urko; Rodríguez, Ricardo J. (2016-06-17) (in en). Detection of Intrusions and Malware, and Vulnerability Assessment: 13th International Conference, DIMVA 2016, San Sebastián, Spain, July 7-8, 2016, Proceedings. Springer. ISBN 978-3-319-40667-1. https://books.google.com/books?id=2_R6DAAAQBAJ&dq=Opaque+predicate&pg=PA167.
- ↑ Chaki, Rituparna; Cortesi, Agostino; Saeed, Khalid; Chaki, Nabendu (2015-11-18) (in en). Advanced Computing and Systems for Security: Volume 2. Springer. ISBN 978-81-322-2653-6. https://books.google.com/books?id=RXb_CgAAQBAJ&dq=Opaque+predicate&pg=PA162.