5. The JarCryp™ Technology
MotivationJava™ * - as a platform-independent programming language - has the disadvantage that the generated bytecode can be decompiled relatively easily. Thus, your Java™ based development is fairly unprotected. Considering this, we have developed the JarCryp™ technology, which is included within the JInstaller™ Secure Edition . This technology enables us to encrypt your bytecode without the need for any Virtual Machine modifications.
- JarCryp™ is based on SJAR files. Ordinary JAR files are converted into encrypted SJAR archives. These archives do not contain any visible or usable information anymore. Your application is protected against decompilation and modification.
- SJAR files protect not only your Java™ classes, but also your resource files (e.g. images, configuration and audio files).
- Classes and resources are decrypted at run-time and handed over to the Java Virtual Machine
(Java VM). The binding is made by a native library, so that the decryption is not visible to
the VM. In addition, the methods
defineClass(...) of the
java.lang.ClassLoader which would allow for the
interception of decrypted class data are not invoked.
- Any JarCryp protected program can utilize logging and error tracking without code modifications since debugging information and stack traces remain unchanged.
- Additionally, SJAR files reduce the size of your original files by approx. 10% leading to shorter download times.
- A customized class loader permits the dynamic binding of arbitrary SJAR archives into your applications at run-time.
If you build your Java-based multiplatfomr installer with the JInstaller Secure Edition, the protection of your application and the transformation of JAR files into SJAR files happen automatically. All you need to do is to mark the JAR files to be protected in the JInstaller user interface.
Furthermore, you can encrypt JAR files manually with the JInstaller Secure Edition and use these directly over the SJAR class loader offered by JarCryp. Thus, the JarCryp Technology can be employed in arbitrary scenarios.
Learn more about the advantages of JarCryp™ over obfuscating.
*Java™ and all Java based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S.A. and other countries