Java decompilers and obfuscators (Oh my!)

Wow -- I just looked at the state of the "Java obfuscator" market, and all I can say is, well, wow. If you've written some Java code as commercial software (where you don't want your Java class files turned back into Java source files), and you haven't obfuscated that code, it looks like a Java obfuscator can turn your Java class files back into source code very easily (once again).

The Java Decompiler Project

I just downloaded a free program named "Java Decompiler Project", and ran it against some of my own Java class files, and sure enough, this Java decompiler said "Here's all your original Java source code; doesn't it look great?"

At the moment this is blowing my mind, because the last time I looked around for a Java decompiler, a tool named "JAD" was all I could find, and since it didn't work on the more recent JDK/SDK versions, I quit thinking about it. But this Java Decompiler Project took my Java JDK/SDK 5 code and reverse-engineered it back into the original Java source code in just a few moments.

Java decompiler and obfuscator projects

So, lesson learned: Java decompiler tools are alive and well, and if you want to protect your Java class files from being decompiled, you better take a look at a Java obfuscator tool like yGuard or ProGuard, or you can kiss your IP (intellectual property) good-bye.

FWIW, I have used the yGuard obfuscator before, and I remember it had a very easy-to-integrate Ant task with it. At the moment I don't know anything about the ProGuard Java obfuscator, but I'll probably be looking at both of these Java obfuscator tools over the next few weeks.