Font Size: a A A

Research Of Code Obfuscation Technology For Java Program

Posted on:2011-11-14Degree:MasterType:Thesis
Country:ChinaCandidate:Y J GuoFull Text:PDF
GTID:2178360302493809Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Recently, Java language was used widely. Due to its object code—bytecode contains most of the source structure and other informations, it is easy to be decompiled to Java source code, so look for an effective method to protect Java bytecode is urgent. Currently a widely used and an effective way is software obfuscation, this method mainly concentrated on the control flow obfuacation and data flow obfuscation, these two techniques have raised the program's complexity and the ability of anti-compiled to some extent.Into the 21st century, the research of obfuscation shifted to the theory of mathematical field. the researches of cryptography and mathematical are emerging, but these methods are still immature and imperfect,so this paper will do the following work:1. On the base of the data refinement obfuscation which was proposed by Drape, this paper do a depth studies and analyze the shortcomings of it, proposed a method of obfuscation for graph. First,using data refinement proved the correctness of the obfuscation, then given the formal description to the definition and the corresponding operations of graph, and the specific process of graph obfuscation, Finally, given out the core algorithm.2. On the study of the homomorphic obfuscation which was proposed by William, this paper given an application method of obfuscation for array. First, described the definition and representation of One-Dimension and K-Dimension homomorphic obfuscation, then given the array index, flattening and folding transformation on the base of homomorphic obfuscation transformation, and the corresponding instance of them, Finally, given out the core algorithm.3. In order to test and analysis the algorithm proposed in this paper, a Java Bytecode Obfuscation Tool-JBOT was designed and implemented. Through the results of some typical program show that this tool can guarantee the invariance of the program's function, is an effective obfuscation tool; The two algorithms proposed in this paper added the program's complexity, can achieve the purpose of software protection.
Keywords/Search Tags:code obfuscation, data refinement obfuscation, homomorphic obfuscation, Java Bytecode Obfuscation Tool
PDF Full Text Request
Related items