MBA Opaque Predicates Using Multiplication Against Symbolic Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current obfuscation techniques using opaque predicates are not sufficiently effective against deobfuscation attacks based on symbolic execution, particularly due to the efficiency of SMT-solvers in solving mixed Boolean-arithmetic expressions.

Innovation Solution

The method involves generating opaque predicates through multiplication operations using mixed Boolean-arithmetic expressions, which are harder for SMT-solvers to solve, by creating conditional branch instructions that evaluate equality or inequality of terms and branch accordingly, and splitting basic blocks of instructions to enhance obfuscation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional opaque predicates based on simple mixed Boolean-arithmetic expressions are used, then the obfuscation implementation is simple, but the obfuscation effectiveness against symbolic execution attacks is insufficient

Engineering Contradiction:
Improveobfuscation implementation simplicityVSAvoidobfuscation effectiveness
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent combines multiple MBA expressions through multiplication operations to create composite opaque predicates. Instead of using single MBA expressions, the invention multiplies two or more MBA expressions together, creating a composite structure that maintains mathematical equivalence (always true or always false) while significantly increasing complexity for symbolic execution solvers.

Inventive Principle:
Principle #40Composite materials

2Reliability

If multiplication operations with mixed Boolean-arithmetic expressions are used to generate opaque predicates, then the resistance to symbolic execution attacks is significantly improved, but the computational complexity of the obfuscation increases

Engineering Contradiction:
Improveresistance to symbolic execution attacksVSAvoidobfuscation computational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameters of the MBA expressions by performing multiplication operations on them. By multiplying MBA expressions with different coefficients and variable combinations, the invention transforms simple equality checks into complex multiplicative relationships that maintain the same logical outcome (always true/false) but require significantly more computational effort for symbolic execution.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12585460B2Software obfuscation method using an opaque predicate based on multiplying mixed Boolean-arithmetic expressions
Publication Date: 2026.03.24 THALES DIS CPL USA INC
  • US12585460B2 patent drawing
  • US12585460B2 patent drawing

AI summary

Provided is a program and computer-implemented method of obfuscating a software code, comprising adding a conditional branch instruction to the software code which, when executed, causes evaluating an opaque predicate (PT, PF, P?). The method comprises a step of generating the opaque predicate which includes performing a multiplication operation having as operands two mixed Boolean-arithmetic expressions. Other embodiments disclosed.