天天看點

java防止反編譯之proguard混淆代碼

proguard5.3下載下傳位址:http://down.51cto.com/data/2316123

從eclipse中導出工程的jar包(這個就不詳細說了)

安裝proguard後打開bin目錄下的proguardgui.bat啟動proguard如下圖所示:

java防止反編譯之proguard混淆代碼

點選Input/Output,設定輸入輸出的jar包,input就是原jar,output就是混淆後的jar。

java防止反編譯之proguard混淆代碼
java防止反編譯之proguard混淆代碼

5.點選Input/Output中的add,添加該工程用到的jar,包括jre,以及web-info下的lib中的所有jar包,這一步如果缺少了jar,可能混淆時會報錯。(可以先将所需要的jar包copy到某個檔案夾中)如下圖所示:

java防止反編譯之proguard混淆代碼

6.點選shrinking配置如下圖所示:

java防止反編譯之proguard混淆代碼

7.點選obfuscation配置如下圖所示:

java防止反編譯之proguard混淆代碼

8.點選optimization配置如下圖所示:

java防止反編譯之proguard混淆代碼

9.點選information配置如下圖所示:

java防止反編譯之proguard混淆代碼

10.點選Process一欄中的Save Configuration按鈕儲存pro格式的配置檔案,如下圖所示:

java防止反編譯之proguard混淆代碼

11.用文本編輯器打開剛剛儲存的pro檔案,對其進行修改。如下面的例子:

加入如下代碼:

-keep public class com.cn.A{

*;

}

表示對A類以及類的所有屬性、方法進行保留

-keep public class com.cn.B{

public String name;

public static void methoadA(int,int,java.lang.String);

public static void methoadB(int,int,java.lang.String);

表示對OutputFrecast的name屬性、instantDay和instantMonth方法進行保留

還有很多規則,可以參考proguard使用文檔。

12.關閉proguard視窗,重新打開

13.點選Proguard一欄中的load configuration按鈕,找到10中儲存的pro檔案

java防止反編譯之proguard混淆代碼

14.點選process一欄中的process按鈕進行混淆,成功後如下圖所示:

java防止反編譯之proguard混淆代碼

繼續閱讀