Font Size: a A A

A Method For Construction Of Chaotic Opaque Expression And Its Applications To Code Obfuscation

Posted on:2019-03-12Degree:MasterType:Thesis
Country:ChinaCandidate:J T SunFull Text:PDF
GTID:2428330566483013Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As a kind of important software protection technology,code obfuscation technology has received more and more attention and application in the field of software protection.Code obfuscation technology originated from compiling optimization and protection of JAVA bytecodes.Later,through its in-depth research,it has been widely applied to protect the content of the software itself and resist the reverse engineering of software.The opaque expression obfuscation technique is an effective code obfuscation technique.However,the existing opaque expression obfuscation technique is not perfect enough.In order to strengthen the protection of the program,this paper studies a Chaos opacity expression(COE)based on chaotic map and quadratic mapping,and proposes a set of COE construction and evaluation algorithm.By combining chaotic maps with quadratic maps,a construction method of chaotic opaque expressions is proposed.Summarizes the eight conditions of a chaotic m ap that are suitable for constructing chaotic opaque expressions: initial value sensitive dependence,pseudo-randomness,robustness,discreteness,large parameter sets,even distribution of state space,multiple branches or multiple steps,No special symbo l.Through theoretical analysis and experimental verification,some chaotic maps suitable for constructing chaotic opaque expressions are discussed.Based on the idea of different quadratic mapping constructs,two kinds of quadratic mapping construction methods are proposed,including integer value mapping and bitwise decomposition.Mapping to map the state space of the chaotic map to the expression result space.Using different combinations of chaotic maps and quadratic maps,different opaque expression confusing schemes can be generated,and various schemes can be used to generate various confusing results.The use of opaque expressions in code obfuscation is very extensive.The constructed chaotic opaque expression is applied to code obfuscation,which can better realize data obfuscation,opaque predicate obfuscation,squash control flow obfuscation and other obfuscation algorithms.In the opaque predicate obfuscation algorithm,an opaque predicate insertion method in which a new construct predicate is m erged with an original predicate is also proposed.The combination of the two forms a new opaque predicate obfuscation technique.In addition,in order to verify the correctness of the algorithm,this paper implements a Java program obfuscation system prototype COEO by implementing the three obfuscation algorithms based on chaotic opaque expressions proposed in Chapter 4.The system can improve the program's anti-attack ability without changing the original program semantics.The user can select different chaotic maps and secondary maps according to actual needs,combine different chaos schemes,and select one or more pairs of confusion methods: data obfuscation,opaque predicates,and conflating control flow obfuscation.The source code is confused.Finally,the system verifies the confusion result and proves the functional equivalence of the program after the confusion and the original program.
Keywords/Search Tags:Code obfuscation, Chaotic opaque expression, Chaotic map, Second map, Chaotic opaque predicate
PDF Full Text Request
Related items