我正在開發即將發佈的Android應用程序。我的一些課程包含非常敏感的信息。通過使用Proguard,我混淆了整個源代碼,但後來遇到了大量的錯誤。現在我打算一個接一個地模糊我的代碼。如何混淆某個類並跳過大部分類? 謝謝。如何在Android上混淆某個類?
回答
我在混淆Java類中遇到了很多麻煩。事實上,yGuard(yGuard!= proguard,我知道)生成* .class文件,其中無法轉換爲* .dex。
如果您的代碼包含敏感數據,它聽起來像某種「security by obscurity」。也許你應該將敏感數據存儲在你的* .class文件中,而不是加密的屬性文件中。
但是,可以反編譯.class文件並獲取解密密鑰。不管你做什麼,如果你依靠默默無聞的安全感,總會有辦法打破它。當然,Jes, – Marcelo 2012-04-02 13:46:04
。這就是爲什麼我提到不將密碼存儲在* .class-文件中。如果您在代碼中存儲預先分享的祕密,它可能會被盜用。 – 2012-04-02 14:21:23
是的,我會考慮你的建議@ckuetbach。但我仍然需要混淆代碼。我知道這對超級天才黑客來說無能爲力。但它應該防止任何明顯的逆向工程嘗試。 – KnightCavalry 2012-04-02 14:43:08
嘗試,如果你想混淆過程中某一類你可以用下面的代碼行這樣
使用。
語法:
-keep public class yourPackageName.youClassname { *; }
實施例:
-keep公共類com.facebook.katana.MainClass {*; }
- 1. Android ProGuard混淆特定類
- 2. Android SharedPreferences混淆
- 3. 類型混淆?
- 4. Android混淆程序
- 5. Android調試混淆
- 6. Android圖像混淆?
- 7. Android aar庫混淆
- 8. Android Java - Runnable混淆
- 9. SQLiteOpenHelper onUpgrade()混淆Android
- 10. Android庫:混淆罐
- 11. Android:迷你混淆動態訪問類
- 12. 域名類混淆
- 13. Haskell類型類混淆
- 14. 與ProGuard的Android代碼混淆......如何知道它被混淆了?
- 15. SQLServer2008:混淆或混淆
- 16. 如何混淆只有幾個類或一個包?
- 17. Android LoaderManager和CursorLoader混淆
- 18. 混淆處理轉動android
- 19. Android的意圖混淆
- 20. 與getview混淆android imagebuttons
- 21. 混淆行爲與Android的
- 22. android-wakelock睡眠混淆
- 23. Netbeans。在混淆器類路徑中找不到混淆器類型(PROGUARD)
- 24. 混淆在Java
- 25. 混淆在Django
- 26. 混淆在AWK
- 27. 混淆在推
- 28. 混淆在emberjs
- 29. 混淆在JavaScript
- 30. 混淆在Java
可能有用的:http://stackoverflow.com/questions/4458909/how-to-use-java-annotations-to-guide-androids-proguard – Thilo 2012-04-02 13:33:28
你明白這沒有任何意義,因爲.class和.dex文件是不同的。 dex是一個文件中的所有類,不可能僅僅改變一個類,因爲你還必須在代碼的其他地方更改所有對它的引用。 – 2012-04-02 14:49:13
我的解釋可能有點奇怪。我打算混淆一個類,並找出可能發生的一些錯誤。如果安全,我會在下一個混淆過程中包含另一個類,並再次發現一些錯誤。我會重複這一步,直到我覺得它可以安全地發佈到市場上。 – KnightCavalry 2012-04-03 07:24:53