Font Size: a A A

Code Obfuscation Based On Control Flow Flattening Technique

Posted on:2010-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:K ZhaoFull Text:PDF
GTID:2178360332957862Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Code obfuscation technology is one of technologies in software code protection, is complementary with encryption technology and belongs to the safety branch for reverse engineering. In gereral, there are three types. Code obfuscation technology is divided into lexical obfuscation, data obfuscation and control flow obfuscation. This paper studies the control flow flattening based technique for code obfuscation.In the academic community, most people agreed that the cost time for the attacker takes lexical obfuscation or data obfuscation is much smaller than the cost time for control flow obfuscation using the reverse transformation. Therefore, the control flow obfuscation is one of the most effective code obfuscation technologis. The control flow obfuscation technique based hardware is expensive since the current computer architecture is still the mainstream. Although opaque predicate has good results, it has no theoretical basis. The parallel fork method for protection has a good theoretical foundation, but has a higher load for the original code. The control flow flattening techonique is not only a formal theoretical foundation, but also has a lower load. Hence, it is a relatively good way. However, it has some issues, control dispatcher and the features of control flow flattening, and the code complexity can be further improved.In this paper, using careful study on control flow flattening technology, we presented two improved algorithm to further hide the control flow information of the source code, which is Dispatcher Varible Dynamic Evaluate Algorithm and Construction and Insertion Pseudo-code Block Algorithm. The former uses the idea of link-state routing to protecte dispatcher variable for control flow flattening technology. The latter introducs the idea of opaque predicates to mix the real basic blocks and the pseudo basic blocks to achieve the purpose of chaos control flow. Experimental results show that improved control flow flattening technology has a good deformability, while increasing the difficulty of reverse engineering to make the original code is further protected. In the experiment, there is a better result.Under the guidance of the idea of control flow flattening technology, this paper presents a control flow obfuscated model and its associated algorithms, which has multi-obfuscated modes in code deformation. In prototype system, we implement the linear array mode and multi-loop control structure, besides control flow flattening. Experimental results show that the model implement a variety of modes, based on the code function is controlled by data flow not by control flow.
Keywords/Search Tags:Code Obfuscation Technique, Control Flow, Control Flow Flattening
PDF Full Text Request
Related items