当前位置:   article > 正文

利用ClassFinal对java代码混淆与加密,提高代码安全性,防止反编译

classfinal

为加强对知识产权的保护,提高代码的安全性,很多公司对外都用到了代码的混淆、加密操作,最近公司也加强了对产权的保护,在网上找了一大圈发现了几个代码混淆工具插件,spring框架可用。

最开始找到了用proguard对代码进行混淆,调研半天过后果断放弃了。原因是配置的选项太多了,好不容易将配置弄完了结果编译的时候校验不通过,还有一点最重要的原因我用的JDK 11不兼容(也许是我没有配置对)

后来发现了ClassFinal,既可以对代码做处理,又可以对jar包进行加密操作,主要配置相对简单得多。JDK11可用。

正文开始

先导入maven插件

			<plugin>
                <groupId>net.roseboy</groupId>
                <artifactId>classfinal-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <!--  加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码,当为 # 时不加密 -->
                    <password>123456</password>
                    <!-- 加密的包名(可为空,多个用","分割) -->
                    <packages>com.suifengpiao.pro</packages>
                    <!--  配置说明文件,如果没有特殊的打包要求可以注销 cfgfiles 标签  -->
                    <cfgfiles>application.yaml</cfgfiles>
                    <!--  排除的类名(可为空,多个用","分割) -->
                    <!-- <excludes>com.suifengpiao.pro.userBusiness.controller.UserManagerController</excludes>-->
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>classFinal</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

到这里就已经配置完了。

接下来就是打包运行了,简单得很。
在这里插入图片描述
直接执行打包操作,等待打包完成
在这里插入图片描述
进入到对应的打包路径,这时会有两个打好的jar包
在这里插入图片描述

有一个是原本的包,有一个是以-encrypted.jar结尾 的包,顾名思义-encrypted.jar结尾的包就是混淆好的包。

混淆包里面的内容就是如下图,全部方法返回都是 return null;
在这里插入图片描述

接下来就是运行了,这里的密码就是前面配置文件里面配置的,#号的话可以不用输入密码,使用方式二启动。

方式一:

java -javaagent:包名-encrypted.jar='-pwd 123456' -jar 包名-encrypted.jar
  • 1

方式二:

	java -javaagent:包名-encrypted.jar -jar 包名-encrypted.jar
  • 1

会弹出一个输入密码的地方,输入密码即可启动,无需密码的可以直接启动。
在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/392741
推荐阅读
相关标签
  

闽ICP备14008679号