上述恒等式可以通过真值表来构造,在构造之前需要用到一个重要的结论。 同一个MBA表达式,n位变量的情况和1位变量同样适用 这个结论是MBA混淆的基础。因为真值表是针对1位变量的情况,可以枚举出布尔表达式所有可能的值,这就可以很方便的构造出MBA恒等式。那么根据之前这个重要结论就可以把利用真值表构造出来的MBA恒等式应用于n位的情况。证明细节可以看以下两个论文 Information Hiding in Software with Mixed Boolean-Arithmetic Transforms MBA-Blast: Unveiling and Simplifying Mixed Boolean-Arithmetic Obfuscation 这里我以两个变量作为例子构造MBA表达式。
Boosting SMT Solver Performance on Mixed-Bitwise-Arithmetic Expressions Obfuscation with Mixed Boolean-Arithmetic Expressions : reconstruction, analysis and simplification tools Information Hiding in Software with Mixed Boolean-Arithmetic Transforms MBA-Blast: Unveiling and Simplifying Mixed Boolean-Arithmetic Obfuscation