Advertisement

Java | ProGuard——java代码混淆利器

阅读量:

Java语言编写的代码存在被反编译的风险,因此在某些情况下,若希望有效维护自身的知识产权,确实需要投入一定精力进行防护。通常而言,存在三种主要的应对策略:

1、对class文件实施加密处理,这种方式在安全性方面表现最佳,但操作相对繁琐,需重新编写classloader以实现对加密文件的解密;

2、采用花指令技术来干扰反编译工具的正常运行(该方法依赖于反编译软件的漏洞),虽然实施较为简便,但其防护效果有限,仍存在被破解的可能性;

3、运用代码混淆手段来增加代码的理解难度;此方法操作简单且易于实施,在实际应用中常单独使用或与其他方式联合使用;

在我们所参与的项目中,采用的是代码混淆工具ProGuard。相关参考资料如下:

[ ( "  ")

[ ( "  ")

ProGuard是一款完全基于Java语言开发的混淆工具,提供客户端与jar包两种使用方式。用户可以将应用程序打包成jar格式后通过工具进行混淆处理,也可以在maven __ 中引入ProGuard插件以实现对源代码的混淆操作。本例中涉及的是针对普通javaweb项目的代码混淆操作。以下为maven插件的相关配置示例:

复制代码
 <!-- ProGuard混淆插件-->

    
 <plugin>
    
    <groupId>com.github.wvengen</groupId>
    

全部评论 (0)

还没有任何评论哟~