Font Size: a A A

Software Protection Research Based On JAVA

Posted on:2015-08-11Degree:MasterType:Thesis
Country:ChinaCandidate:Y H LvFull Text:PDF
GTID:2298330467462167Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the rapid development of the Internet, especially the explosive growth of the mobile Internet, the rise of wearable devices, people’s lives become increasingly dependent on intelligence tools. Smart phones, smart glasses, smart watches and smart belt are coming into the modern life. Computer software plays a core role of weapons in this Internet Revolution.However, copyright protection of computer software is facing a great challenge. Especially Programs Written by Java are very easily decompiled. The difference of Java and C/C++is that Java is complied into Class files, while C/C++program is compiled into a binary executable file. JVM will explain the class files at runtime. Consequences is, Class files are saved a lot of redundant information, making decompile Java program can get high-quality code.For these tricky issues, a number of companies and individuals are involved in researching. For example, open source program Proguard is a good medicine to solve this problem. We can achieve a significant effect of Java code protection by its obfuscation. Many other Protection methods have also been developed including native technology, remote method invocation technology, digital watermarking technology, packers protection technology. These protection can only provide a certain degree of Java code protection, they all have some localizations.To address this situation, on the basis of thorough study of Java language, Class file structure, class loading mechanism, a variety of code obfuscation algorithm and native technology, this paper gives some improvement scheme about obfuscating technology and Packers technology. Currently, we achieve the goal of the layout obfuscation by replacing variable names. These new names are generated by sequence of characters like a,b,c and their combination. But to the attacker, this obfuscating method may be not strong enough. So we can use a new mechanism to generate new variable names. For example,. we can generate some similar character string to replace the initial variable names. Meanwhile, there are two main shortcomings about encryption shell protection. One is that the secret key can’t be stored safely and encryption and decryption efficiency is not high enough. The second is that it’s likely to expose the decrypted plaintext. For these two issues, this paper proposes some solutions. We can use smart SD card to store secret keys and accomplish encryption and decryption. By this way, we can not only save the key safely, but also improve the efficiency of encryption and decryption. By combining native technology, return Class object instead of plaintext byte stream to upper layer, we can avoid exposing the plaintext to attackers.Overall, this paper presents two effective improvements of Java code protection. It’s a very meaningful exploration and practice.
Keywords/Search Tags:Java code Protection, obfuscation, encryption shell, protection, smart SD card
PDF Full Text Request
Related items