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

proguard5.3下載地址:http://down.51cto.com/data/2316123java

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

  2. 安裝proguard後打開bin目錄下的proguardgui.bat啓動proguard以下圖所示:eclipse

    wKiom1k83qODmhxGAAF7zv--7a8360.png-wh_50

  3. 點擊Input/Output,設置輸入輸出的jar包,input就是原jar,output就是混淆後的jar。編輯器

    wKiom1k83qjCSs7JAAFuhrR5NZI272.png-wh_50

    wKioL1k83qzyiIgVAAF_nM-rwU4981.png-wh_50

5.點擊Input/Output中的add,添加該工程用到的jar,包括jre,以及web-info下的lib中的全部jar包,這一步若是缺乏了jar,可能混淆時會報錯。(能夠先將所須要的jar包copy到某個文件夾中)以下圖所示:ide

wKioL1k85D2AcdKwAAFCEOekkHs556.png-wh_50

6.點擊shrinking配置以下圖所示:ui

    wKioL1k83rDyaFzKAAEzMTTbrxU017.png-wh_50

7.點擊obfuscation配置以下圖所示:spa

                wKiom1k83rThlfXcAAF1WKs1PnU409.png-wh_50

8.點擊optimization配置以下圖所示:orm

wKiom1k83rjhlYGFAAE5O4oodE4012.png-wh_50

9.點擊information配置以下圖所示:blog

wKioL1k83rzRTkkgAAE_sr-i0Ck413.png-wh_50

10.點擊Process一欄中的Save Configuration按鈕保存pro格式的配置文件,以下圖所示:ip

wKiom1k83r7BICO7AAE-dhGndOY532.png-wh_50

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文件

wKioL1k85K3wAQTVAAF78C2qKwE345.png-wh_50


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

wKiom1k85gmh9zrWAAIo55h39ng665.png-wh_50

相關文章
相關標籤/搜索