最好的 Java 混淆器?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2537568/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Best Java obfuscator?
提问by Xinus
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 代码,这样逆向工程就变得不可能了。什么是最可靠的 java 混淆器?
采纳答案by BalusC
First, you really need to keep in mind that it's neverimpossible to reverse-engineer something. Everything is hackable. A smart developer using a smart IDE can already get far enough.
首先,你真的需要记住,逆向工程从来都不是不可能的。一切都是可以破解的。使用智能 IDE 的聪明开发人员已经足够了。
Well, you can find herea list. ProGuard is pretty good. I've used it myself, but only to "minify" Java code.
好吧,你可以在这里找到一个列表。ProGuard 相当不错。我自己使用过它,但只是为了“缩小”Java 代码。
回答by andrew0007
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..
我认为 Proguard 是最好的。也可以将它与您的 IDE(例如 NetBeans)集成。但是,请考虑到,如果您混淆了代码,则可能难以跟踪日志中的问题。
回答by Anoop
I used to work with Klassmasterin 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.
我曾经在我以前的公司与Klassmaster一起工作,它工作得非常好,并且可以很好地与构建系统集成(maven 支持非常好)。但它不是免费的。
回答by James B
As said elsewhere on here, proguardis 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.
正如这里其他地方所说,proguard很好,但可能不知道的是这里还有一个第三方 maven 插件http://pyx4me.com/pyx4me-maven-plugins/proguard-maven-plugin/......我已经将它们一起使用了,它们非常好。
回答by Thorbj?rn Ravn Andersen
If a computer can run it, a suitably motivated human can reverse-engineer it.
如果计算机可以运行它,一个有适当动机的人就可以对其进行逆向工程。
回答by wfg4
We've had much better luck encrypting the jars rather than obfuscating. We use Classguard.
我们有更好的运气加密罐子而不是混淆。我们使用Classguard。
回答by Dmitry Leskov
Check out my article 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.
查看我的文章保护您的 Java 代码 - 通过混淆器和超越 [存档]讨论混淆与其他三种使应用程序逆向工程更昂贵的方法,以及工具和进一步阅读材料的链接集合。
回答by Daniel Dolz
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 BitHelmetfor .net.
确实,对某些代码进行逆向工程始终是可能的,就像保护一所房子是不可能的,因此没有人可以窃取它。不过,这并不能阻止我锁门。实际上,我不在 Java 世界中,我将BitHelmet用于 .net。
回答by Renato
I don't know for sure if the solution is safe, but about the ClassGuardsolution, it's interesting to read the article and the comment at: http://www.javaworld.com/community/?q=node/1604#comment-12296
我不确定该解决方案是否安全,但关于ClassGuard解决方案,阅读文章和评论很有趣:http: //www.javaworld.com/community/? q=node/1604#comment -12296