Deploying Java Platform to Design a Framework of Protective Shield for Anti– Reversing Engineering
Java is a platform independent language. Java programs can be executed on any machine, irrespective of its hardware or the operating system, as long as a Java virtual machine for that platform is available. A Java compiler converts the source code into ¡°byte-code. instead of native binary machine code. This byte-code contains a lot of information from and about the source code, which makes it easy to decompile, and hence, vulnerable to reverse engineering attacks. In addition to the obvious security implications, businesses and the wider software engineering community also risk widespread IP theft - proprietary algorithms, for example, that might be implemented in Java could be easily reverse-engineered and copied. This paper addresses the problem of reverse engineering attacks on software written in Java. It analyzes the present protective techniques used to protect software from such attacks, examines their limitations and provides a new tool that implements several anti-reversing techniques. This novel tool is code named KDefender and it drew its concept from ANTLR- ANother Tool for Language Recognition.
Key words: JAVA, Anti-Reverse Engineering, byte-code, Re-Engineering, Obfuscators, KDefender