【详解】使用proguard混淆javaweb项目代码

测试智商的网站 4天前 阅读数 8184 #软件测试
# 指定输入和输出文件
-injars 'input.jar'
-outjars 'output.jar'

# 指定库文件
-libraryjars 'C:\Program Files\Java\jdk1.8.0_251\jre\lib\rt.jar'

# 保留公共API
-keep public class * extends javax.servlet.http.HttpServlet
-keep public class * extends javax.servlet.Servlet
-keep public class * extends javax.servlet.Filter

# 保留注解
-keepattributes *Annotation*

# 保留枚举
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# 保留序列化类
-keepclassmembers class * implements java.io.Serializable {
    static final long serialVersionUID;
    private static final java.io.ObjectStreamField[] serialPersistentFields;
    !static !transient <fields>;
    !private <fields>;
    !private <methods>;
    private void writeObject(java.io.ObjectOutputStream);
    private void readObject(java.io.ObjectInputStream);
    java.lang.Object writeReplace();
    java.lang.Object readResolve();
}

# 保留Spring框架相关
-keep @org.springframework.stereotype.Controller public * {*;}
-keep @org.springframework.web.bind.annotation.RestController public * {*;}

# 保留Hibernate相关
-keep class org.hibernate.proxy.HibernateProxy

# 其他自定义规则
-keep class com.yourcompany.yourapp.** { *; }
  • 随机文章
  • 热门文章
  • 热评文章
热门