A parameterized flattening control flow based obfuscation algorithm with opaque predicate for reduplicate obfuscation

Zheheng Liang,Wenlin Li,Jing Guo,Deyu Qi,Jijun Zeng
DOI: https://doi.org/10.1109/PIC.2017.8359575
2017-01-01
Abstract:In order to enhance the white box security of software, we proposed a reduplicate code obfuscation algorithm to protect the source code. Firstly, we apply the parameter decomposition tree to formalize the code, and then we utilize flattening control flow system to decompose the source code into a multi-branch WHILE-SWITCH loop structure. Finally, we apply opaque predicates to obfuscate the flattened code for the secondary obfuscation. In this paper, opaque predicate code representation and different methods of inserting opaque predicates into program braches and sequence blocks were given. Experiments has been made to compare time-space cost of source code and obfuscated code. The results demonstrate that the proposed algorithm can improve code's anti-attack ability, increasing the difficulty of reverse engineering as well.
What problem does this paper attempt to address?