One way to protect Java software from casual reverse engineering is obfuscation. Essentially, an obfuscator renames classes, variables, and packages with random/meaningless names. The application still functions correctly; the decompiled code becomes difficult to read.

There are quite a few obfuscators for Java — at least a dozen when I looked — most of which are easily used from an Ant script.

For my use I selected one with a ready-to-use Ant task: yGuard. Unfortunately, yGuard operates on .jar files only, not individual .class files or webapp .war files. Thus, I have written my own Ant script which uses yGuard and built-in Ant tasks to obfuscate .war files. Continue reading »

 

Note: this post was updated in light of discussion on the Advanced Installer forum.

At work, we use Advanced Installer to create easy-to-use Windows installers for internal and external customers. I wrote a short Ant script for building the installer to save time and minimize mistakes.

If you use Advanced Installer with your Java projects, be sure to read my post on using the Advanced Installer licensing feature within a Java application.

Here is a partial Ant script for executing Advanced Installer builds. It’s not fancy, but it gets the job done. Continue reading »

 

You may be surprised to learn Ant requires GCJ when installed through Synaptic or apt on Ubuntu.  GCJ is GNU’s Java compiler.  When you’re using Sun’s JDK and compiler, GCJ can get in the way — at worst it creates conflicts; at best it causes confusion.

Here’s how I installed Ant on Ubuntu without GCJ. Continue reading »

© 2011 And now here's something… Suffusion theme by Sayontan Sinha