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.
Features
yGuard is absolutely free! Contrary to expensive commercial products of our competitors providing the same amount of features as yGuard or less, yGuard is free.
yGuard is an Ant task! Existing tools use proprietary mechanisms to invoke or configure the task of obfuscation. As an Ant task, yGuard can be seamlessly integrated into your deployment process using XML syntax.
yGuard provides highly configurable name obfuscation that will protect your intellectual property from Reverse engineering.
yGuard provides elaborate code shrinking functionality through dependency analysis.
yGuard 2.0 offers a new powerful and easy to use XML syntax that allows the effortless definition of code Entities e.g. based on pattern sets or inheritance.
yGuard will correctly obfuscate and shrink programs that depend on external libraries.
yGuard can automatically rename and adjust textual resource files according to the obfuscation scheme.
yGuard can scramble and unscramble or shrink line number table information. This means that debugging an obfuscated program is still achievable without weakening the obfuscation.
yGuard can create patches! During each obfuscation run, yGuard produces XML output that can be used to create subsequent patches of already deployed obfuscated applications.
yGuard supports JDK 1.5 features and correctly obfuscates classes compiled with its new features.