Best Java obfuscator?

JavaObfuscation

Java Problem Overview


I am developing a security software and want to obfuscate my java code so it will become impossible to reverse engineer. What is the most reliable java obfuscator ?

Java Solutions


Solution 1 - Java

First, you really need to keep in mind that it's never impossible to reverse-engineer something. Everything is hackable. A smart developer using a smart IDE can already get far enough.

Well, you can find here a list. ProGuard is pretty good. I've used it myself, but only to "minify" Java code.

Solution 2 - Java

If a computer can run it, a suitably motivated human can reverse-engineer it.

Solution 3 - Java

Check out my article https://web.archive.org/web/20161217190546/http://www.excelsior-usa.com/articles/java-obfuscators.html">Protect Your Java Code - Through Obfuscators And Beyond [Archived] for a discussion of obfuscation vs three other ways to make the reverse engineering of your apps more expensive, and a collection of links to tools and further reading materials.

Solution 4 - Java

I think that Proguard is the best. It is also possible to integrate it with your IDE (for example NetBeans). However, consider that if you obfuscate your code it could be difficult to track problems in your logs..

Solution 5 - Java

As said elsewhere on here, proguard is good, but what might not be known is that there is also a third-party maven plugin for it here http://pyx4me.com/pyx4me-maven-plugins/proguard-maven-plugin/...I've used them both together and they're very good.

Solution 6 - Java

I used Allatori and it did its job pretty well.

Solution 7 - Java

It is true that it is always possible to reverse engineer some code, just like it is impossible to protect a house in order so nobody can ever steal from it. That does not keep me from locking the door, though. Actually, I am not in the java world, I use BitHelmet for .net.

Solution 8 - Java

I used to work with [Klassmaster][1] in my previous company and it works really well and can integrate pretty good with build systems (maven support is excellent). But it's not free though.

[1]: http://www.zelix.com/klassmaster/ "Klassmaster"

Solution 9 - Java

We've had much better luck encrypting the jars rather than obfuscating. We use Classguard.

Solution 10 - Java

I don't know for sure if the solution is safe, but about the ClassGuard solution, it's interesting to read the article and the comment at: http://www.javaworld.com/community/?q=node/1604#comment-12296

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionXinusView Question on Stackoverflow
Solution 1 - JavaBalusCView Answer on Stackoverflow
Solution 2 - JavaThorbjørn Ravn AndersenView Answer on Stackoverflow
Solution 3 - JavaDmitry LeskovView Answer on Stackoverflow
Solution 4 - Javaandrew0007View Answer on Stackoverflow
Solution 5 - JavaJames BView Answer on Stackoverflow
Solution 6 - JavathelostView Answer on Stackoverflow
Solution 7 - JavaDaniel DolzView Answer on Stackoverflow
Solution 8 - JavaAnoopView Answer on Stackoverflow
Solution 9 - Javawfg4View Answer on Stackoverflow
Solution 10 - JavaRenatoView Answer on Stackoverflow