ClassEncrypt is a program that can encrypt a developer's class files to prevent malicious users from
stealing the source code. The program uses a modular design to allow the developer to create different
encryption modules for the program to use. This software does not prevent the developer's software from
The software comes with a default module that encrypts and decrypts using the
Blowfish algorithm that was created by Bruce Schneier. This software is meant to be a barrier of
protection for Java developers who want to market their software. It is not at all foolproof since the
software enables the encrypted class files to still run using the regular JVM. It does, however, slow down
any reverse engineering that someone may try on the developer's software.
NOTE: This program is NOT GUARANTEED to be foolproof. A
persistent person may find a way around the encryption. The goal is to make it sufficiently hard so the
malicious user gives up in trying to reverse engineer the developer's software.
The product features include:
- An easy to use interface
- Dynamic module loading
- Dynamic code creation
- The ability to use other encryption schemes
- Software is deployed to an executable jar file
- Protection from decompilation
The latest version takes advantage of the Retroguard bytecode obfuscator to
obfuscate the class files that are not able to be encrypted (any class that has to be valid for the JVM to
load the software). These classes are precompiled and already obfuscated so the end-user (the developer)
will not notice the difference. The only time the developer may notice the difference is if the
ClassEncrypt program is built from source instead of using the distributed class files.