Indian Journal of Science and Technology
Year: 2015, Volume: 8, Issue: Supplementary 2, Pages: 1-4
Magesh Vasudevan1 , Shah Pratik2 , C. Gopichand3 and Anthoniraj Amalanathan4*
School of Computing Science and Engineering, VIT University, Vellore, Tamilnadu, India – 632014;
[email protected], [email protected], [email protected], [email protected]
Obfuscators are tool to make the software Intellectual property protected. The protection is from the reverse engineers who crack the code for Intellectual Property or license benefits. This paper discusses about obfuscation with Java Byte Code; Java compiles the code into byte code that runs on Java Virtual Machine (JVM). The byte code is more expressive than the object code. The byte code in name of .class files can be transported to any machine that can run JVM. The aim is to obfuscate the java byte code such that the reverse engineered code is not understandable by making ambiguous view approach. The approach changes the flow such that it is functional identical but difficult in understanding the function or the approach the code has built upon. There are many ways the code can be obfuscated such as control flow, encryption of string literals, multiple overloaded methods. The approach in this paper is making the string literal null such that the literals used cannot be identified. This can be enhanced further by using java class loader where the class name is String; when the string is found empty in the reverse engineered code the decompiled code will be of no understanding because the classes called itself will not be identified. The Java byte code engineering library used is ASM.
Keywords: Java Byte Code, Obfuscation, Reverse Engineering, Security
Subscribe now for latest articles and news.