ClassFinal是一款 Java class文件安全加密工具,支持直接加密Jar包或者war包,无需修改任何项目代码,兼容Spring-framework,可以避免源码泄露或字节码反被编译。
功能特性
- 无需修改原项目代码,只要把编译好的jar/war包用本工具加密即可。
- 运行加密项目时,无需求修改tomcat,spring等源代码。
- 支持普通jar包、springboot jar包以及普通java web项目编译的war包。
- 支持spring framework、swagger等需要在启动过程中扫描注解或生成字节码的框架。
- 支持maven插件,添加插件后在打包过程中自动加密。
- 支持加密WEB-INF/lib或BOOT-INF/lib下的依赖jar包。
- 支持绑定机器,项目加密后只能在特定机器运行。
- 支持加密springboot的配置文件。
官网
使用
获取机器绑定码
从官网上下载 classfinal-fatjar.jar
包,然后使用指令 java -jar classfinal-fatjar.jar -C
运行下载下来的jar包,得到一个classfinal-code.txt
文件,文件中的字符串就是机器码。
POM文件配置
1 | <plugin> |
在项目模块POM文件中添加上述插件后,使用maven进行打包mvn package
,会在target目录下自动加密生成 yourproject-encrypted.jar
。可支持 机器码+密码 的方式运行。
运行
启动密码加密Jar包的方式:
1 | java -javaagent:yourproject-encrypted.jar="123456" -jar yourproject-encrypted.jar |
启动无密码加密jar包的方式
1 | java -javaagent:yourproject-encrypted.jar -jar yourproject-encrypted.jar |