从我所看到并阅读的内容来看,如果有人真的想对软件进行反向工程或反编译,ProGuard不会阻止它们。但它至少是一种适度的威慑力量?我不确定是否值得稍后翻译我的堆栈跟踪的麻烦。正在使用ProGuard值得吗?
14
A
回答
16
我会推荐ProGuard。即使没有模糊处理(可以显着缩短常量池中使用的名称),它也可以删除已使用的库的“死代码”(未使用的方法)等(它也可用于将所有内容合并在一起)。
它需要一点点的“纠正”,尤其是“如果有动态加载的类 - 但非常推荐。然而,节省空间的实际好处“取决于”可以消除什么,并且通常会与更多的外部图书馆联系。
现在,对于混淆 - 它和任何混淆器一样多:使用“有意义的名称”将“反编译”代码变成不可能。然而,如果混淆不会保存您的超级秘密算法或隐藏您的私钥,但是:如果JVM(或转换后的Dalvik)必须理解它,那么反编译器和任何真正想要的人都希望获取访问可以。你的代码甚至可以通过字节码形式提取,并简单地通过。反思(想象一个可怕的API,零文档):任何人真的想要访问可以。但也许混淆将使这项任务不可行的成本/支出:“这取决于”。
不想翻译堆栈跟踪?简单:不使用它进行调试(而不是从用户获取有用的痕迹),或不能够混淆(其它福利仍然适用);-)
编码愉快。
2
职业警卫至少可以让你的应用程序变得尽可能小的文件大小!
这是一个真正的优点。
它在eclipse开发和编译时会自动使用,假如你有proguard.config=proguard.cfg
到项目的default.properties文件。
这也是一个真正的优点。
相关问题
- 1. 与Android一起使用Proguard值得付出吗?
- 2. 在使用ProGuard
- 3. 值得使用sqlalchemy-migrate吗?
- 4. JDEE值得使用吗?
- 5. 正在让我的clickonce应用部分信任值得吗?
- 6. 值得使用TypeScript进行CMS吗?
- 7. 值得使用守护进程吗?
- 8. jQuery UI库:它值得使用吗?
- 9. CSS框架真的值得使用吗?
- 10. 使用phusion/baseimage还是值得的吗?
- 11. 值得学习使用MSBuild吗?
- 12. 设计2017年值得使用吗?
- 13. 在Eclipse中使用Proguard for Android得到错误
- 14. 使用Proguard获得警告(使用外部库)
- 15. 使用proguard混淆
- 16. 如何使用Proguard?
- 17. HTML5 - 值得吗?
- 18. .mobi值得吗?
- 19. 在apollo-react-redux应用程序中使用redux-form值得吗?
- 20. 我正在使用ThreadPool.QueueUserWorkItem吗?
- 21. 表正在使用吗?
- 22. 我正在使用mysql_real_escape_string吗?
- 23. php:object autoload - 值得吗?
- 24. 我们应该使用CSS框架吗?他们值得吗?
- 25. 正在检查Perl函数参数值得吗?
- 26. 如何使ProGuard Maven插件使用最新的ProGuard版本?
- 27. 在循环过程中使用Jinja2取得div ID的值吗?
- 28. 使用Proguard-obfuscated REST服务无法获得Jersey JAX-RS资源
- 29. 如何混淆使用ProGuard
- 30. 使用Proguard改装警告
实际上,除非您将'proguard.config = proguard.cfg'添加到项目的default.properties文件中,否则ProGuard不会被Eclipse调用。 (您可以忽略文件中有关正在擦除的更改的警告;它不会发生。)请参阅[本主题](http://stackoverflow.com/questions/4732656/enabling-proguard-in-eclipse-for- android)获取更多信息。 – 2011-04-11 22:15:21
哦,在我上一个项目中没有意识到这一点,因为我在浪费了几个小时尝试让proguard启动并运行之后,从IntelliJ移回eclipse。 – 2011-04-12 06:34:24