汕头网站设计电话,站长,网上做相册网站,wordpress模板安装教程视频写在前面#xff1a;各位看到此博客的小伙伴#xff0c;如有不对的地方请及时通过私信我或者评论此博客的方式指出#xff0c;以免误人子弟。多谢#xff01;如果我的博客对你有帮助#xff0c;欢迎进行评论✏️✏️、点赞#x1f44d;#x1f44d;、收藏⭐️⭐️#…写在前面各位看到此博客的小伙伴如有不对的地方请及时通过私信我或者评论此博客的方式指出以免误人子弟。多谢如果我的博客对你有帮助欢迎进行评论✏️✏️、点赞、收藏⭐️⭐️满足一下我的虚荣心 。
为避免源码泄漏或字节码被反编译这里记录一下使用 ClassFinal 对jar包进行加壳加固。
目录
文档
使用
机器绑定
maven插件方式使用
启动加密后的jar 文档
官网地址ClassFinal: Java字节码加密工具
使用
机器绑定
生成机器码前先从Gitee下载好classfinal-fatjar-1.2.1.jar。
机器绑定只允许加密的项目在特定的机器上运行在需要绑定的机器上执行以下命令生成机器码
java -jar classfinal-fatjar-1.2.1.jar -C
生成的机器码存放在同classfinal-fatjar-1.2.1.jar目录中的classfinal.txt文件中如下 maven插件方式使用
官网介绍的使用方式有两种这里记录下 maven插件方式
在要加密的项目pom.xml中加入以下插件配置,目前最新版本是1.2.1。
plugin!-- https://gitee.com/roseboy/classfinal --groupIdnet.roseboy/groupIdartifactIdclassfinal-maven-plugin/artifactIdversion1.2.1/versionconfigurationpassword123456/password!--加密打包之后pom.xml会被删除不用担心在jar包里找到此密码--packagescom.ruoyi/packagescfgfiles*.yml/cfgfilesexcludesorg.spring/excludescodeCA5800E403C341E1D2738A951EF553B6D41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E/code
!-- libjarsa.jar,b.jar/libjars--/configurationexecutionsexecutionphasepackage/phasegoalsgoalclassFinal/goal/goals/execution/executions/plugin
参数说明 参数说明
-file 加密的jar/war完整路径
-packages 加密的包名(可为空,多个用,分割)
-libjars jar/war包lib下要加密jar文件名(可为空,多个用,分割)
-cfgfiles 需要加密的配置文件一般是classes目录下的yml或properties文件(可为空,多个用,分割)
-exclude 排除的类名(可为空,多个用,分割)
-classpath 外部依赖的jar目录例如/tomcat/lib(可为空,多个用,分割)
-pwd 加密密码如果是#号则使用无密码模式加密
-code 机器码在绑定的机器生成加密后只可在此机器上运行
-Y 无需确认不加此参数会提示确认以上信息 执行打包命令后会在target目录下生成加密后的jar包格式为 yourpaoject-encrypted.jar启动加密后的jar
加密后的项目需要设置javaagent来启动项目在启动过程中解密class完全内存解密不留下任何解密后的文件启动命令如下 java -javaagent:yourpaoject-encrypted.jar -jar yourpaoject-encrypted.jar 示例
java -javaagent:selenium-manager-encrypted.jar -jar selenium-manager-encrypted.jar
启动时按照其实输入密码即可启动