天天看点

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混淆代码

继续阅读