Font Size: a A A

Java Software Protection Research And Realization

Posted on:2008-05-24Degree:MasterType:Thesis
Country:ChinaCandidate:F WangFull Text:PDF
GTID:2178360215482550Subject:Cryptography
Abstract/Summary:PDF Full Text Request
With the rapid development and progress of computer technology, software has been widely used in every vocation and domain, and has changed the working and living ways deeply. Software is the agglomeration of software engineers' intelligence and has a great value. If the pirates and competitors get the core technologies of software, it will be a great loss to software company and software engineers.Java language has been welcomed by many famous companies, it takes a revolution and has changed the mode of software development. Nowadays, Java has been widely used in every domain of software development. Java has the agility that can be used in different running environment and it comes from the particular compile mode. Compiling the Java source code will generate Java class file that oriented Java virtual machine not binary file that oriented processor. Class file is a kind of formatted mid-code that saves a lot of messages of source code. With these messages, it is easy to decompile class file to get the source code. The source codes that decompile from Java class file have good qualities that reveal the software engineers' thoughts. Therefore, the software that developed with Java language orients a great risk of knowledge right protection.These years, many companies and Java developers have researched the structure of Java class file and the Java virtual machine. Many protection methods have been developed to protect Java software including native technology, source code separate technology, digital watermark technology, code confusion technology. These methods can protect Java software in some degree, but they all have some localizations and disadvantages.Based on these conditions, this paper focuses on the Java class load system and combine it with the cipher technology, secret sharing scheme and information hide technology. This paper brings forward a new method to protect the Java software, that called encrypting class file protection scheme. The encrypting class file protection scheme is designed by the following thought:(1) Encrypt the class file to protect Java software, the decompiler can't decompile the encrypted class files. The key management is the core problem of this scheme, this paper combines secret sharing scheme and information hide technology to protect key.(2) How to load the encrypted class file is the other important problem. Considering the complexity of software application, Java language was designed allowing user to customize classloader. Customized classloader can perform some special operations, for example, downloading class file from Internet, validating the class file. This paper customizes a classloader called DecryptClassloader by which the encrypted class files can be decrypted.(3) The decrypt arithmetic and the key resume arithmetic can't be encrypted, otherwise it will need some other arithmetics to decrypt them. These two arithmetics should be protected because they are the core content of this scheme. These two arithmetics are developed with C++ and compiled to dynamic link library. The decompiler can't decompile the dll file and the dll file can be reinforced with executive file protection methods.This scheme has good security and can be generally used in all Java software, not only native application but also web application software. This scheme can reserve the agility of Java software. This scheme has been developed to a tool and the test data indicate this tool has a high efficiency. In conclusion, this paper gives a new thought of Java software protection.
Keywords/Search Tags:Java class file, Decompile, Secret sharing scheme, Customized Classloader
PDF Full Text Request
Related items