Java代码混淆加密之ClassFinal

一:介绍

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的配置文件。

三:实操步骤

1.下载源码

git地址:https://gitee.com/roseboy/classfinal.git

2.项目打包

注:加密程序包位置

3.加密前准备

获取专属机器码:执行dos 命令

java -jar classfinal-fatjar-1.2.1.jar -C

4.开始加密

4.1 加密执行dos命令

java -jar classfinal-fatjar.jar -file ${需要的包的jar} -libjars ${需加密的依赖包1},${需加密的依赖包2} -packages ${加密包名1},${加密包名2} -exclude ${无需加密的文件} -pwd ${密码} -code ${机器码} -Y

4.2 命令之参数说明

-file        加密的jar/war完整路径
-packages    加密的包名(可为空,多个用","分割;例如com.biz)
-libjars     jar/war包lib下要加密jar文件名(可为空,多个用","分割)
-cfgfiles    需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割)
-exclude     排除的类名(可为空,多个用","分割)
-classpath   外部依赖的jar目录,例如/tomcat/lib(可为空,多个用","分割)
-pwd         加密密码,如果是#号,则使用无密码模式加密
-code        机器码,在绑定的机器生成,加密后只可在此机器上运行
-Y           无需确认,不加此参数会提示确认以上信息

4.3 demo

jar包:demo.jar
密码:123456
code:8289EC0890F26285EC4771FE8036D59FD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E
code获取:java -jar classfinal-fatjar-1.2.1.jar -C
加密命令:
java -jar classfinal-fatjar-1.2.1.jar -file demo.jar -packages ${com.test.server} -pwd ${pwd} -code ${code} -Y
=========================================================
=                                                       =
=      Java Class Encryption Tool v1.2.1   by Mr.K      =
=                                                       =
=========================================================
加密信息如下:
-------------------------
1. jar/war路径: demo.jar
2. lib下的jar:
3. 包名前缀:  com.test.server
4. 排除的类名:
5. 加密配置文件:
6. ClassPath:
7. 密码:     123456
8. 机器码:           8289EC0890F26285EC4771FE8036D59FD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E
-------------------------

处理中...
加密完成,请牢记密码!
==>demo-encrypted.jar

4.4启动jar命令

java -javaagent:demo-encrypted.jar -jar demo-encrypted.jar

之后根据提示后输入刚才加密时输入的密码,完成启动。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                                                END  撒花~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.杨先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值