{"title":"A parameterized flattening control flow based obfuscation algorithm with opaque predicate for reduplicate obfuscation","authors":"Zheheng Liang, Wenlin Li, Jing Guo, Deyu Qi, Jijun Zeng","doi":"10.1109/PIC.2017.8359575","DOIUrl":null,"url":null,"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.","PeriodicalId":370588,"journal":{"name":"2017 International Conference on Progress in Informatics and Computing (PIC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 International Conference on Progress in Informatics and Computing (PIC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PIC.2017.8359575","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
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.