# Defeating Opaque Predicates Statically through Machine Learning and Binary Analysis

arXiv: https://arxiv.org/abs/1909.01640 · HTML: https://mlsanity.com/paper/1909.01640/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 4 Sep 2019.

## Built on by (most cited first, 1 of 1)

- [Identifying Obfuscated Code through Graph-Based Semantic Analysis of Binary Code](https://mlsanity.com/paper/2504.01481/) (2025)

## Abstract (arXiv)

We present a new approach that bridges binary analysis techniques with machine learning classification for the purpose of providing a static and generic evaluation technique for opaque predicates, regardless of their constructions. We use this technique as a static automated deobfuscation tool to remove the opaque predicates introduced by obfuscation mechanisms. According to our experimental results, our models have up to 98% accuracy at detecting and deob-fuscating state-of-the-art opaque predicates patterns. By contrast, the leading edge deobfuscation methods based on symbolic execution show less accuracy mostly due to the SMT solvers constraints and the lack of scalability of dynamic symbolic analyses. Our approach underlines the efficiency of hybrid symbolic analysis and machine learning techniques for a static and generic deobfuscation methodology.
