JavaGuard is a general purpose bytecode obfuscator, designed to fit effortlessly into your regular build and testing process, providing peace of mind that your valuable Java code is more secure against decompilation and other forms of reverse engineering.
JavaGuard is based on the well-known RetroGuard bytecode obfuscator (see http://www.retrologic.com\) which is also under the LGPL but doesn't seem to be continued developing anymore.
Both applications allow the user to specify a script file that influences how a given Jar file is obfuscated. Unfortunately RetroGuard isn't as powerful as I originally expected:
1) It doesn't process serializable classes (correctly).
2) The syntax in the script file is quite simple and not very much powerful; regular expressions for example are not possible.
3) Resource files are completely ignored.
4) It is not possible to tell RetroGuard to completely exclude some classes from being obfuscated.
These are the main reasons why I began working on the source code; to enhance it and to implement the above mentioned features. To avoid naming conflicts I gave the project a new name, JavaGuard.
This is the first official release.