當前位置:電腦軟件 > 編程開發(fā) > 編程其它 > proguard代碼混淆工具v5.3.3

proguard代碼混淆工具v5.3.3

大小:5.55MB語言:簡體中文類別:編程其它

類型:國產(chǎn)軟件授權(quán):免費軟件時間:2018/3/5

官網(wǎng):

環(huán)境:Windows10,Windows8,Windows7,WinVista,Win2003,WinXP,Win2000

安全檢測:無插件360通過騰訊通過金山通過瑞星通過

本地下載

proguard是一款能夠用于Java字節(jié)碼.class文件進行優(yōu)化和壓縮的代碼混淆工具,它通過混淆類、字段以及方法的名稱來提供對反向工程的最小保護,并且在代碼的處理上能夠通過移除無用代碼,使用簡短無意義的名稱來重命名類、字段和方法從而能夠達到提升代碼保護的目的,最終我們會獲取一個較小的apk文件,而這個較小的apk文件使得我們更難于進行程序的逆向工程破解。同時為了解決大多數(shù)用戶遇到的資源尋找難題,并且提供簡易的配置教程幫助用戶更好的進行代碼混淆操作,同時工具已集成到Android構(gòu)建系統(tǒng)中,所以我們不用手動調(diào)用這個工具,我們可以選擇在只發(fā)布模式下構(gòu)建系統(tǒng)的時候再去運行,極大的方便了用戶程序工具的調(diào)用操作。有需要的用戶可以在本站下載!注:下載包中有proguard4.8安裝包以及軟件使用說明,安裝包在未使用時請不要輕易刪除和更改文件類型。
proguard代碼混淆工具

配置教程

1、準備好你的jar包,我在這里舉例叫做test.jar;
2、解壓工具,執(zhí)行bin目錄下的proguardgui.bat,運行如圖,點擊左邊“input/output”菜單;

3、點擊右邊的“add input”加入我們要混的jar包:test.jar,點擊右邊的“add output”填入我們要輸出的jar包(命名隨便),這里我寫test_out.jar。注意輸出的jar包,要自己手工填寫,添加支持庫,下邊的“Library jars,wars,ears .....”那個框,點擊右邊的“add”,說明一下,這里最好把你的myeclipse里java project里的libraries所有Library的jar包,copy到一個目錄,然后在這里加入這些jar包;;

4、做完以上步驟后就差不多了,點擊“shrinking”,設(shè)置成如下圖;

5、點擊“obfuscation”,設(shè)置成如下圖;

6、點擊“optimization”,設(shè)置成如下圖;

7、點擊“process”,再點擊“save configuration”,在彈出的對話框中,輸入要保存的配置文件名稱(這里我的是test.pro),最后點擊“保存”,至些圖形化的設(shè)置已經(jīng)完成;

優(yōu)化種類

除了在壓縮操作刪除的無用類,字段和方法外,ProGuard也能在字節(jié)碼級提供性能優(yōu)化,內(nèi)部方法有:
常量表達式求值
刪除不必要的字段存取
刪除不必要的方法調(diào)用
刪除不必要的分支
刪除不必要的比較和instanceof驗證
刪除未使用的代碼
刪除只寫字段
刪除未使用的方法參數(shù)
像push/pop簡化一樣的各種各樣的peephole優(yōu)化
在可能的情況下為類添加static和final修飾符
在可能的情況下為方法添加private, static和final修飾符
在可能的情況下使get/set方法成為內(nèi)聯(lián)的
當接口只有一個實現(xiàn)類的時候,就取代它
選擇性的刪除日志代碼

混淆規(guī)則

1.如果使用了Gson之類的工具要使JavaBean類即實體類不被混淆。
2.如果使用了自定義控件那么要保證它們不參與混淆。
3.如果使用了枚舉要保證枚舉不被混淆。
4.對第三方庫中的類不進行混淆。
a.混淆時保護引用的第三方j(luò)ar包
如:-libraryjars libs/baidumapapi_v3_2_0.jar  #保護引用的第三方j(luò)ar包不被混淆;
注意:在使用Eclipse+ADT時需要加入-libraryjars libs/...,如果你是使用Android Studio開發(fā)的項目則不需要加入libs包中的jar包,這是因為,通過Android Studio進行混淆代碼時,默認已經(jīng)將 lib目錄中的 jar 都已經(jīng)添加到打包腳本中,所以不需要再次手動添加,否則會出現(xiàn)“ java.io.IOException: The same input jar is specified twice” 錯誤。
b.混淆時保護第三方j(luò)ar包中的類不被混淆
如:-keep class com.baidu.** { *; }   #讓ProGuard不要警告找不到com.baidu.**這個包里面的類的相關(guān)引用;
-dontwarn com.baidu.**  #保持com.baidu.**這個包里面的所有類和所有方法不被混淆。
下載地址

有問題?點擊報錯+投訴+提問

網(wǎng)友評論

0條評論

評分:
captcha 評論需審核后才能顯示