我正在寻找一个支持maven-plugin的java混淆器?我们尝试使用ProGuard,但遇到了一些运行时问题,如果不进行混淆处理,这些问题不会发生。有没有其他的混淆器。支持maven插件的java混淆器
1
A
回答
4
由于ProGuard的类似于大多数其他Java模糊处理(至少我熟悉的那些)的方式工作,它很可能你会遇到类似的问题。 (事实上,ProGuard会采用它来发射符合字节码的方法,而另外一些混淆器则传闻这种方法不那么警惕。)
你有什么样的问题?通常,使用混淆的问题与名称混淆有关 - 遇到其他库无法找到公共类/方法/字段或使用反射的问题时出现问题。这通常是可以解决的,因为要非常小心哪些类名称和方法名称可以被修改。
我用Java项目混淆最后一次,我们是相当保守的什么被混淆。我们将我们想要混淆的类放入其原始包的子包中,我们只对.internal进行混淆。。我们发现这比试图确定什么不是混淆更有用。
与模糊处理的另一个问题是他们的最优化。尽管我没有看到ProGuard中的优化问题,但这绝对不是不可能的。无论如何,我都会关闭它,原因如下:首先,当您为客户收到(混淆)的堆栈跟踪时,很难将名称取消扩展以确定发生了什么问题。如果您的混淆器已经优化了任何内容,那么堆栈跟踪可能没有意义。其次,这是不必要的:在JVM是非常,在优化字节代码非常好,这与(潜在从而使情况变得更糟。)干扰
0
几年前,我有类似的问题,比你。 如果我没记错的话ProGuard错误地优化了短私人方法: 它在内联期间确实消除了方法的“同步”按键效果。
我们固定通过使用ProGuard的-dontoptimize
选择这个问题。
3
Stringer Java Obfuscation Toolkit有一个伟大的一套与IDE集成选项和构建系统,包括Maven。
相关问题
- 1. maven编译器插件混淆
- 2. XmlSerializer混淆支持?
- 3. django时区支持混淆
- 4. 混淆器和技术支持
- 5. 支持变量重命名的Java解混淆器?
- 6. 用于Java代码混淆的Maven插件
- 7. Heroku插件混淆
- 8. iOS6自动混淆并支持iOS5
- 9. proguard的,Maven的插件外部的lib com.github.sarxos混淆
- 10. maven,osgi和eclipse的混淆
- 11. 寻找一个支持Java 6的Docker Maven插件
- 12. 带有模块化构建支持的JS混淆器
- 13. maven android插件与android支持库v7
- 14. 的Java/Maven的混乱 '不支持MAJOR.MINOR版本51.0'
- 15. Java类加载器混淆
- 16. 混淆在Java
- 17. 混淆在Java
- 18. 混淆在Java
- 19. Java setBackground()混淆
- 20. Java混淆hh:mm
- 21. Java Logic混淆
- 22. Java Unicode混淆
- 23. Maven传递依赖混淆
- 24. 混淆调用maven项目
- 25. 工作maven混淆示例
- 26. Grails DBMigrations使用中的插件混淆
- 27. 与新的innodb memcached插件MYSQL混淆?
- 28. Sonarqube 5.0 maven插件支持(已弃用maven 2)
- 29. 混淆的插入语句
- 30. Android Java - Runnable混淆