我正在尋找一個支持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混淆