我有一個JAR文件,其中包含敏感名稱類,理想情況下,我想阻止軟件的客戶看到。據我瞭解,JAR文件本質上只是一個ZIP文件,其中包含每個類的一個JVM字節碼文件,命名適當,所以沒有什麼能阻止我們的客戶在ZIP實用程序中打開JAR文件並讀取所有的名稱類。我可以在JAR中混淆類名嗎?
將我們的源類重命名爲「NoneOfYourBusinessClass1」等等,是否有任何工具可以自動混淆內置JAR的內容而無需更改源代碼?
我有一個JAR文件,其中包含敏感名稱類,理想情況下,我想阻止軟件的客戶看到。據我瞭解,JAR文件本質上只是一個ZIP文件,其中包含每個類的一個JVM字節碼文件,命名適當,所以沒有什麼能阻止我們的客戶在ZIP實用程序中打開JAR文件並讀取所有的名稱類。我可以在JAR中混淆類名嗎?
將我們的源類重命名爲「NoneOfYourBusinessClass1」等等,是否有任何工具可以自動混淆內置JAR的內容而無需更改源代碼?
ProGuard是一個很不錯的混淆器。您不需要更改任何源代碼,並且還可以執行其他一些操作,例如刪除未使用的類以減少jar的整體大小。
谷歌選擇它包含在Android SDK中以減小Android應用程序的大小。
有開源obfuscators-- proguard for example
和許多商業之輩。
我明白需要混淆代碼,但是......有敏感的類名*?像'MyPasswordIs12345.class'? – Marcelo 2012-03-01 11:59:57
'EmployeeFiringStrategy.class' – Nick 2012-03-01 14:26:50