赞
踩
首先classfinal实现起来较简单,仅需要引用pom文件即可,引用pom文件后maven生成jar包后会在原jar包后面生成一个叫 xxx-encrypted.jar 的文件,此jar包就是已加密之后的jar包,用反编译软件进行查看会看到.class文件的方法内代码全部替换为null,此时为代码混淆成功。
classfinal下载链接:
https://gitee.com/roseboy/classfinal
<plugin> <!-- https://gitee.com/roseboy/classfinal --> <groupId>net.roseboy</groupId> <artifactId>classfinal-maven-plugin</artifactId> <version>${classfinal.version}</version> <configuration> <password>#</password><!--加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码--> <packages>你的包名</packages> <cfgfiles>application.yml</cfgfiles> <excludes>org.spring</excludes> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>classFinal</goal> </goals> </execution> </executions> </plugin>
有密码时cmd内进入对应jar包目录下使用以下命令:
java -javaagent:xxx-encrypted.jar='-pwd 123' -jar xxx-encrypted.jar
无密码:
java -javaagent:xxx-encrypted.jar -jar xxx-encrypted.jar
接下来如果你的jar包没问题的话,就可以正常启动项目了(如果起不来项目,一般都是你原来的jar包就起不来,应该先排除一下这一问题)。
这个插件看起来要比上面的厉害很多,本人并未使用此插件(因为pom文件配置完,无法自动下载包),此包只能手动引入所以相当麻烦,此外因为他是使用go来启动的,我们还需要额外配置环境,注意:此插件可以对静态文件进行加密,但静态文件加密浏览器加载时容易出现问题,而且js文件即便加密到浏览器上仍可以看见源代码,所以静态文件加密的意义不大,但如果想加密mybatis的mapper文件还是可以的。
xjar下载链接:
https://gitee.com/mirrors/XJar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。