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.

Publication Date

Spring 2011

Degree Type

Thesis - Campus Access Only

Degree Name

Master of Science (MS)


Computer Science


Mark Stamp


Anti-Reverse Engineering, Obfuscation, Protect Java, Reverse Engineering

Subject Areas

Computer Science


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.