Off-campus SJSU users: To download campus access theses, please use the following link to log into our proxy server with your SJSU library user name and PIN.
Non-SJSU users: Please talk to your librarian about requesting this thesis through interlibrary loan.
Date of Award
Thesis - Campus Access Only
Master of Science (MS)
Anti-Reverse Engineering, Obfuscation, Protect Java, Reverse Engineering
Java is a platform-independent language. Java programs can be executed on any machine, irrespective of its hardware or operating system, as long as a Java virtual machine for that platform is available. A Java compiler converts the source code into "bytecode" instead of native binary machine code. This bytecode 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 thesis addresses the problem of reverse engineering attacks on software written in Java. It analyzes the present defense techniques used to protect software from such attacks, examines their limitations, and provides a new tool that implements several anti-reversing techniques.
Kundu, Deepti, "Jshield: A Java Anti-Reversing Tool" (2011). Master's Theses. Paper 3937.