idle me
in search of …

Java Bytecode Obfuscator and Shrinker

Java bytecode (*.class files) contains all of the information, apart from comments, that is in Java source (*.java) files. Using a tool called a ‘decompiler’ a hostile competitor can easily reverse engineer your Java classes.To counter this threat, it is possible to ‘obfuscate’ your class files before distributing your software.

I have tried a few obfuscators and I found the following ones to be useful:

yGuard
yGuard is a free Java bytecode obfuscator and shrinker that improves your software deployment by prohibiting unwanted access to your source code and drastically shrinking the processed Jar files at the same time.

yGuard is absolutely free!
yGuard is an Ant task!
Code Shrinking

http://www.yworks.com/en/products_yguard_about.htm

ProGuard
ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or for Java Micro Edition.
http://proguard.sourceforge.net/

Jshrink
Jshrink is a Java obfuscator that extracts the minimal set of class files for an application, removes unused code and data, obfuscates symbolic names, finalizes code for optimized execution, and stores the results in a Java jar file.

Jshrink typically reduces program size by 30-40%. Jshrink obfuscated code is much harder to comprehend when decompiled, a claim that can be readily verified using Jshrink’s built-in Java decompiler. Jshrink can also create Windows executable files from Java jar files. Jshrink processes Java class files from all Java versions.

http://www.e-t.com/jshrink.html

You can find a list of Open Source obfuscators or java here: http://java-source.net/open-source/obfuscators

No Responses Yet to “Java Bytecode Obfuscator and Shrinker”

Leave a Reply