Defend against hackers and keep your Java-based apps safe for your end users
Get a quote
Robust Java code protection, whatever the environment and OS.
Stringer Java Obfuscator works hard to keep your apps safe. It protects your Java code, transparently encrypts your resources, and ensures the integrity of your apps. It secures your sensitive method calls and logic. And it carries out dynamic key calculations at runtime for added protection.
Your standalone, desktop, and enterprise apps can be protected by Stringer Java Obfuscator. It currently protects millions of Java-based app users worldwide. It frees them from the fear of cyber attacks and allows them to get on with doing their best work.
Benefits
- Clever cryptography that hides your app’s logic
- Protection against both static and dynamic analysis
- Easy configuration and installation saves you time
- Integrity checks prevent tampered-with apps from starting
- If it’s Oracle-certified, then Stringer can protect it
- Dynamic key calculations provide an extra layer of protection
Features
Stringer Java Obfuscator's toolkit protects your apps from a wide range of malicious attacks.
-
Code Protection and Virtualization
Stringer hides the method calls and logic within your app. And its string encryption feature scrambles your string code so that bad actors can’t decompile it.
-
Content Protection
Unlike other protection products, Stringer's resource encryption is transparent. There’s no need for you to change your code or the way that you work with your resources.
-
Integrity Control
Stringer uses dynamic key calculation. So, if a bad actor has tampered with anything within the app, it will generate an incorrect key and the app won’t start.
How it works
Protective layers that secure your code and assets.
01_String Encryption
String encryption works a little bit like a one-way mirror. On one side, you can only see your reflection. But the other side is transparent. Stringer keeps bad actors on the first side of the mirror. They only see a protected, unreadable version of the string code reflected back at them.
We use context-sensitive encryption keys to decrypt protected strings. That makes it impossible for a hacker to carry out a static analysis on your apps.
02_Hide Access
The method calls and access to fields within your apps have meaningful logic that you can understand. But Hide Access virtualizes and conceals this logic so that hackers can’t make any sense of it.
This process also protects against hooking and debugging attempts. So it secures the sensitive logic in your apps and libraries.
03_Resource Encryption
Stringer encrypts the assets and resources within your apps. These include media files, text files and HTML files. At the end of this process, your apps contain exactly the same number of files. But hackers can’t tell what they are anymore. This is an automatic encryption process, with no coding required.
Stringer works with the final containers during this process. That’s important, because it means it can pre-calculate the dynamic keys before execution. This is a unique process that adds an extra layer of protection.
04_Integrity control
Stringer’s integrity control identifies binaries that have been damaged or deliberately modified. If it does, it won’t allow them to function. That means hackers can’t inject malicious code to get at your end user’s sensitive information such as passwords or credit card numbers. And they can’t disable a licensing subsystem.
With Stringer Enterprise, you can configure integrity control manually. So, you can enable or disable the JAR’s signature check, for example. And you can enable or disable the JAR’s contents check and tamper detection.
View documentation
Why Stringer's Java code protection is so effective.
Other Java obfuscators only tend to protect your bytecode in Java classes. They don’t work directly with the final enterprise app containers. Because Stringer does work with the final containers, it can protect assets transparently. It also helps to make your apps tamper proof.
Stringer is smart. It can automatically recognize the type of enterprise app it’s protecting. So, it can differentiate between a Spring and Spring Boot app, for example. And it can identify web app containers like WAR and EAR.
This intelligence and depth of security means that individual parts of your app - like the code and assets - are better protected from attacks.
Get a quote
Take Stringer’s protection to another level with Alice and CryptoModule. Attack telemetry and threat
intelligence, and smart security designed for sensitive apps.
Request a demo
Alice
Get a real-time view of exactly how Stringer is keeping your app safe. Alice gives you valuable
insights that you can use to plan your long term security.
Learn more
Crypto Module
Does your app carry critical logic and rely on cryptography? If so, CryptoModule can help. It uses a
smart virtual machine to store key material in a safe environment.
Learn more
Product updates
-
Stringer 9.3
Introducing the latest version of Stringer, where Java 13 support and the new WebContainer integration mechanisms have been introduced.
read more
-
Stringer 9.0
Stringer 9.0 fully supports Java 9 and includes new protection mechanisms which utilize features that modern JREs provide.
read more
Our other products
DexProtector
Powerful protection for Android and IOS apps that uses a dynamic native engine to
keep your code safe.
learn more
JCardSim
The industry standard for developing identification, payment, and other smart card
applications.
learn more