栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【原创】解决Maven ProGuard不混淆局部变量的问题,以及如何使用混淆好的包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【原创】解决Maven ProGuard不混淆局部变量的问题,以及如何使用混淆好的包

前言

我最近要打个jar包需要混淆代码,防止被他人破解,于是我找到了我自己以前写的博客,抄了一下xml代码,但是发现局部变量没有被混淆,网上找了好久没找到问题的答案,和我遇到同样问题的人倒是不少,好在最后我自己解决了。

我之前讲述ProGuard的博客:IDEA 使用JDK1.8使用ProGuard混淆Maven项目代码_DCTANT的博客-CSDN博客_idea 代码混淆

这篇博客有个明显的问题:随大流,里面的配置文件有坑,而且我自己也不知道!

修复局部变量无法混淆的问题

直接上我现在的ProGuard的pom文件,保证能混淆局部变量:

            
                com.github.wvengen
                proguard-maven-plugin
                2.0.14
                
                    
                        
                        package
                        
                            
                            proguard
                        
                    
                
                
                    6.0.2
                    true
                    
                    true
                    
                    true
                    
                    pg
                    
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                    
                    ${project.build.finalName}-pg.jar

                    
                    
                        ${java.home}/lib/rt.jar
                        ${java.home}/lib/jce.jar
                        
                        
                        
                    

                    
                    

                    
                    classes
                    
                    ${project.build.directory}
                

                
                    
                    
                        net.sf.proguard
                        proguard-base
                        6.0.2
                        runtime
                    
                
            

不能混淆局部变量的原因是:

 -keepattributes中几乎所有的教程都加上了LocalVariable*Table,你们可以去检查一下自己的pom文件,应该都有加,加上这个后局部变量就不会混淆了,这就是我之前博客有人质疑我混淆结果的主要原因。

Maven如何使用混淆后的jar包

最简单的方法,搭建一个自己的Maven私服,直接idea中直接deploy这个项目

如何搭建Maven私服:【实战】Windows上部署Nexus阿里云Maven代理仓库_DCTANT的博客-CSDN博客_nexus 阿里云maven仓库

idea中的配置:

 settings.xml中需要配置Maven私服的相关信息,看上面的Maven私服教程

 deploy完成后,就可以调用刚才自己的包了,然后需要在depency标签中加一行pg即可调用混淆后的包:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711893.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号