JNIC
A powerful Java native obfuscator
Thwarts reverse engineering
JNIC completely protects your source code from all Java reverse engineering tools, including decompilers, bytecode editors and deobfuscators.
Interoperable with existing obfuscators
For even more protection, JNIC can be applied over the output of another obfuscator, resulting in incredibly complex native code.
Not just a translator
JNIC applies protections at the level of native code, including string encryption, reference obfuscation, and control flow flattening.
What is JNIC?
JNIC translates compiled (and optionally obfuscated) Java methods to the C programming language. After the generated files are compiled, the resulting binary is relinked to the original program through the Java Native Interface. At the end of this process, no trace of the original method remains in the .class
file that contained it.
Before
public class App {
public static void main(String args[]) {
System.out.println("Hello, world!");
}
}
After
public class App {
public static native void main(String args[]);
}
The bytecode of the method is completely hidden from Java reverse engineering tools.
You don't need any prior knowledge of the Java Native Interface or C code to use JNIC. JNIC supports all Java language features, and can be used on your existing codebase.
See the docs and FAQ for more information, join our discord server, or email [email protected]
.
Samples
Here are a few examples of JNIC protected applications before and after being protected by JNIC.
Name | Original | JNIC | Info |
---|---|---|---|
HelloWorld.jar | Download | Download | Just a single method that prints 'Hello, World!'. |
SnakeGame.jar | Download | Download | A Snake Game from GitHub |