Font Size: a A A

Research And Implementation Of Code Obfuscation In Java Software Protection

Posted on:2010-09-10Degree:MasterType:Thesis
Country:ChinaCandidate:J L HuoFull Text:PDF
GTID:2178360272994294Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
There is an urgent need for effective ways to protect the Java software, because the Java program can be easily de-compiled and reverse engineering, which makes the protection of intellectual property and confidential information in the no confidence environment be not very difficult to steal. Now obfuscating the Java code is one of the most practical solutions to protect the Java software. The obfuscation of a program involves transforming the code of the program into more complex, but semantically equivalent representation. At present, the code obfuscation research focuses on control flow and data flow obfuscation, the two obfuscation technologies really improve the complexity of the program and anti-attack capability, but the implementation of the two technologies increases the program's produce time and space overhead for a price, and sometimes the cost of such program can cause normal operation of the program.To overcome the drawbacks of current obfuscation technologies, this paper studies the identifier renaming obfuscation technology, and implements a Java software obfuscator for the purpose of protecting the Java software, enhancing the complexity of the program and the capability of anti-attack and not increasing the additional executing expenses of the program. The main work of this paper is as following:1. The paper introduces the Java class file, the code obfuscation technology and its research status. Also the paper studies the classification and comparison for the existing code obfuscation technologies in detail. To overcome the drawbacks of the control flow obfuscation and data flow obfuscation, the paper proposes four identifier renaming algorithms, which are the overusing identifiers, overloading unrelated methods, introducing illegal identifiers, and overriding static methods. The paper also analyzes the extract executing cost of the four algorithms.2. The paper designs and implements a Java software obfuscator—JIRO (Java Identifier Renaming Obfuscator). The main functions of the obfuscator are code optimization and code obfuscation. The key technologies of the obfuscation function module are the four-identifier renaming algorithms proposed in the paper.3. In the paper, a large number of tests are made on the JIRO, and the paper analyzes the function of the JIRO, which is combined with the tests of the correctness, the potency, and the resilience of the transformation from the obfuscation. According to the test result, the paper analyzes the impact of the executing cost for the JIRO. The paper also analyzes the application of JIRO. The work of thesis shows that the JIRO, which based on the identifier renaming technology, can confuse the Java program with good effect, while it does not increase the executing cost. So JIRO can effectively protect the Java Software.
Keywords/Search Tags:de-compilation, code obfuscation, identifier renaming obfuscation, obfuscation tool
PDF Full Text Request
Related items