Encryption and protection for Java code

Home > Encryption > Encryption and protection for Java

encrypt java code

Encrypt Java Code

Our encryption wrapper for java offers an optimal solution for streamlining the integration of protection features into your Java software, significantly reducing the time and effort required. This versatile tool provides robust protection against piracy and reverse engineering through a fully automated approach.

AxProtector Java can be seamlessly incorporated into your development workflow as it is available both as a command line tool and compatible with continuous integration in automated build systems.

Clever traps

One of our distinctive features is the ability to conceal specialized commands as deceptive traps within your code. These traps manifest as additional methods injected into your software. Any potential attacker attempting to crack the encrypted functions will encounter one of these traps. When triggered, these traps activate a secret command and lock the software license, effectively halting any further decryption attempts. In addition to the pre-set traps, you have the flexibility to incorporate your own traps. This ingenious strategy makes our solution a highly effective defense against attacks.

Encryption vs Obfuscation

In contrast to ordinary, run-of-the-mill obfuscation tools, AxProtector Java offers a significantly elevated level of security. While conventional obfuscation primarily involves altering names and scrambling the code, our wrapper goes the extra mile by safeguarding the executable code through robust 256-bit AES encryption.

This encryption ensures that attempting to decompile the protected application on the device, even with the correct tools, becomes a futile endeavor. The code remains encrypted until it is decrypted in a secure environment, either within a dongle or through a Windows service, rendering it considerably more impervious to potential attackers compared to the basic obfuscation techniques employed in Java.

Standard config

Our solution is designed for encrypting Java SE (J2SE) and Java EE (J2EE) applications. As a software developer, you have the ability to encrypt classes and methods independently. This provides the flexibility to exclude specific classes and methods for performance optimization.
Upon the initial execution of your application, our engine method is registered within the runtime environment. This method automatically oversees the decryption process for all classes and methods, ensuring that the protected elements are seamlessly and securely decrypted. Our engine is composed of both Java components and native JNI (Java Native Interface) components to deliver this protection.

Advanced Config

You can apply distinct encryption to various segments of your Java application by utilizing different Product Codes. By generating a license with a subset of these Product Codes, you effectively limit your application's functionality to only what has been purchased. When working with the our API, you also have the capability to activate or deactivate graphical components, such as buttons or menu entries, to further customize your application's behavior.

Encryption Only Config

Compared to the standard config, the encrypted application won't need a valid license to decrypt.
The decryption keys are simply hidden in the encrypted application which is then decrypted with our engine attached to the encrypted file.
As this happens in memory, the decrypted version of the file never appears on the drive, making reverse engineering extremely hard.

Read more here


In this case we advice you to use the 'Encryption Only Config
Sure. Simply request a SDK and you will receive the complete toolkit to build a PoC.
In the form, please specify that you want to encrypt Python code.
No. You can simply load up your Java file(s) into our wrapper.