TLDR InfoSec · STRATEGIES & TACTICS

OPAQUE PREDICATES AND HOW TO HUNT THEM

blog.midi12.re8 min read

Summary from the TLDR InfoSec newsletter

Opaque predicates are a conditional expression that the programmer knows the answer to but chooses to check anyway. They can be utilized to obscure the control flow for anti-reversing. This post utilizes the MIASM Python library to create an IDA Pro plugin to detect and patch unreachable blocks. The plugin utilizes the Symbolic Execution engine to detect opaque predicates and then patches them with NOPs.