Java混淆器利器:ProGuard

Java混淆器利器:ProGuard  

         http://proguard.sourceforge.net/

 

      ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。
编辑本段什么是压缩:
  JAVA源代码(.java文件)通常被编译为字节码(.class文件)。而完整的程序或程序库通常被压缩和发布成Java文档(.jar文件)。字节码比 Java源文件更简洁,但是它仍然包含大量的无用代码,尤其它是一个程序库的时候。ProGuard的压缩程序操作能分析字节码,并删除无用的类、字段和方法。程序只保留功能上的等价,包括异常堆栈描述所需要的信息。
编辑本段什么是混淆:
  通常情况下,编译后的字节码仍然包含了大量的调试信息:源文件名,行号,字段名,方法名,参数名,变量名等等。这些信息使得它很容易被反编译和通过逆向工程获得完整的程序。有时,这是令人厌恶的。例如像ProGuard这样的混淆器就能删除这些调试信息,并用无意义的字符序列来替换所有名字,使得它很难进行逆向工程,它进一步免费的精简代码。除了异常堆栈信息所需要的类名,方法名和行号外,程序只会保留功能上的等价。通过以上的了解,你应该明白为什么需要混淆了。

 

ProGuard Maven插件配置方法:

<plugin>
    
<groupId>com.pyx4me</groupId>
    
<artifactId>proguard-maven-plugin</artifactId>
    
<executions>
        
<execution>
            
<phase>package</phase>
            
<goals>
                
<goal>proguard</goal>
            
</goals>
        
</execution>
    
</executions>
    
<configuration>
        
<obfuscate>true</obfuscate>
        
<proguardInclude>${basedir}/proguard.pro</proguardInclude>
        
<libs>
            
<lib>${java.home}/lib/rt.jar</lib>
            
<lib>${java.home}/lib/jsse.jar</lib>
            
<lib>${java.home}/lib/jce.jar</lib>
        
</libs>
    
</configuration>
</plugin>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值