Mixed Boolean-Arithmetic (MBA) expressions are frequently used for obfuscation. As they combine arithmetic as well as Boolean operations, neither arithmetic laws nor transformation rules for logical formulas can be applied to suitably complex expressions, making MBAs hard to simplify and solve. In 2019, Liu et al. demystified linear MBAs, leveraging a transformation between the set $B=\{0,1\}$ of bit values and the set $B^n$ of words of length $n\in\mathbb{N}$ for linear MBAs, originally introduced by Zhou et al. in 2007. With their MBA-Blast and MBA-Solver algorithms, they outperform existing tools noticably in terms of performance as well as ability to simplify of such MBAs. We propose a surprisingly simple algorithm called SiMBA that improves upon MBA-Blast and MBA-Solver in that it can deobfuscate all linear MBAs, does not miss particularly simple solutions and takes only a fraction of their runtime.
翻译:混合布尔-Arithmedic (MBA) 表达式经常被用于混淆。 由于它们结合了计算和布尔操作,逻辑公式的算法或转换规则都无法适用于适当的复杂表达式,使MBA难以简化和解决。 在2019年,刘等人解密线性MBAs, 利用比特值的值值为B$0, 1 美元和长度为$00 美元(n\in\ mathbb{N}美元)的字数的转换, 用于Zhou等人最初于2007年推出的线性MBAs, 它们的计算法或逻辑公式的转换规则都无法适用于适当的复杂表达式, 使得MBA- Blast和MBA- Solver算法在性能和简化这种MBAs的能力方面明显优于现有的工具。 我们提出了一个惊人的简单算法,叫SimBA, 改进MBA- Blast和MBA- Solver, 因为它可以将所有线性MBAs解所有线性MBAs, 并不特别简单的解决办法, 。