A Mixed Boolean-Arithmetic (MBA) expression is composed of both integer arithmetic and bitwise operators. Such expressions can be leveraged to obfuscate the data-flow of code by iteratively applying rewrite rules and function identities, complicating its syntax while preserving its semantic behavior. This possibility is motivated by the fact that combinations of operators from these different fields do not interact well together: we have no rules (distributivity, factorization…) or general theory to deal with this mixing of operators.
Through this workshop, attendees will receive a comprehensive introduction to the study, analysis and implementation of code obfuscation mechanisms relying on MBA expressions.