java~jar防⽌反编译
对于jar包,如果是为客户私有化部署的,会将jar包给客户,这时就会有源代码泄露的风险,你的⼀些加密算法,密钥就公开了,所以我们需要为jar包进⾏加密,或者叫字节码混淆。
classfinal
classfinal是⼀个字节码混淆⼯具,我们可以直接把它集成到maven⾥,以插件的形式去使⽤它,下⾯是配置⽂件
<plugin>
<groupId&seboy</groupId>
<artifactId>classfinal-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<password>#</password><!-- #表⽰启动时不需要密码,事实上对于代码混淆来说,这个密码没什么⽤,
它只是⼀个启动密码 -->
<packages>st.register</packages><!-- 加密的包名,多个包⽤逗号分开-->
spring怎么读取jar文件<excludes>org.spring</excludes>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>classFinal</goal>
</goals>
</execution>
</executions>
</plugin>
进⾏maven install之后,会多⽣成⼀个jar⽂件,后缀是encrypted.jar,原来的jar⽂件还是明⽂的,以后可以⽤被加密的encrypted.jar
JD-GUI查看源码
通过JD-GUI我们可以查看JAR的源代码
⽽别⼀个⽂件,encrypted.jar后缀的,它的类⾥的⽅法都是空的,说明被保护了
另外,代码混淆⼯具还有很多,⼤家也可以尝试⼀下其它的⼯具。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论