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

相关文章
相关标签/搜索