Protecting Your Source: Strategies for Defeating Decompilers
Now that we’ve addressed the problem, you’re probably wondering if there is any way you can protect your code. If you’re at the point of asking why you should be producing Java applets or applications that can be easily circumvented, then this is the chapter for you.
In the previous chapters, you’ve seen that, for a number of reasons, Java classfiles contain an unusually large amount of symbolic information. Classfiles that haven’t been protected in some way return code that is almost identical to the original—except, of course, that it completely lacks any programmer comments. This chapter looks at the steps you can take to limit the amount of information in a classfile ...