springboot 代码混淆

此方法是代码混淆,增加反编译后代码的可读成本。

一、proguard


   ${artifactId}
   
      
         com.github.wvengen
         proguard-maven-plugin
         
            
               package
               proguard
            
         
         
            5.3.3
            ${project.build.finalName}.jar
            ${project.build.finalName}.jar
            true
            
               
               
           
               
               
               
               
               
               
               
               
                  @org.springframework.beans.factory.annotation.Autowired *;–>
                  @org.springframework.beans.factory.annotation.Value *;
                  }
                -->
            
            
               
               ${java.home}/lib/rt.jar
               ${java.home}/lib/jce.jar
            
         
         
            
               net.sf.proguard
               proguard-base
               5.3.3
            
         
      

      
      
         org.springframework.boot
         spring-boot-maven-plugin
         
            
               
                  repackage
               
               
                  com.winning.CdrgwApplication
               
            
         
      
   

注意:

-keep class 类/包.**  表示保留类名

-keepclassmembers class 类/包.**{ *;} 表示保留类下边的所有变量,均不混淆

 

2、混淆前后对比

1)、混淆前

springboot 代码混淆_第1张图片

2)、混淆后

springboot 代码混淆_第2张图片

 

二、Allatori

Allatori是一个Java 混淆器,它属于第二代混淆器,因此它能够全方位地保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。支持war和jar文件格式,并且允许对需要混淆代码的应用程序添加有效日期。 有项目需要对代码进行保护,比较初级的方案就是对代码进行混淆,打包之后的文件进行反编译后,就可以看到效果。此外,使用Allatori打的包体积也会小一点。

1、项目根目录lib下增加两个jar包-》 allatori.jar,allatori-annotations.jar

2、resource下添加Allatori配置文件-》allatori.xml

  

    

  

  

    

      

      

    

  

  

 

3、pom文件打包配置增加混淆配置

 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 4.0.0

 com.lovnx

 confusion

 0.0.1-SNAPSHOT

 jar

 

 

  

  org.springframework.boot

  spring-boot-maven-plugin

  

  

  

  org.apache.maven.plugins

  maven-resources-plugin

  2.6

  

   

   copy-and-filter-allatori-config

   package

   

    copy-resources

   

   

    ${basedir}/target

    

    

     ${basedir}/allatori

     

     allatori.xml

     

     true

    

    

   

   

  

  

  

  org.codehaus.mojo

  exec-maven-plugin

  1.2.1

  

   

   run-allatori

   package

   

    exec

   

   

  

  

   java

   

   -Xms128m

   -Xmx512m

   -jar

   ${basedir}/lib/allatori.jar

   ${basedir}/target/allatori.xml

   

  

  

  

 

 

 

 

 

  junit

  junit

  test

 

 

 

 

  org.springframework.boot

  spring-boot-starter-web

 

 

 

 org.springframework.boot

 spring-boot-starter-parent

 1.5.8.RELEASE

 

 

你可能感兴趣的:(数据中心应用组)