当前位置:   article > 正文

Java代码混淆加密之ClassFinal_jar 加密混淆工具

jar 加密混淆工具

一:介绍

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 命令之参数说明

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

4.3 demo

  1. jar包:demo.jar
  2. 密码:123456
  3. code:8289EC0890F26285EC4771FE8036D59FD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E
  4. code获取:java -jar classfinal-fatjar-1.2.1.jar -C
  5. 加密命令:
  6. java -jar classfinal-fatjar-1.2.1.jar -file demo.jar -packages ${com.test.server} -pwd ${pwd} -code ${code} -Y
  7. =========================================================
  8. = =
  9. = Java Class Encryption Tool v1.2.1 by Mr.K =
  10. = =
  11. =========================================================
  12. 加密信息如下:
  13. -------------------------
  14. 1. jar/war路径: demo.jar
  15. 2. lib下的jar:
  16. 3. 包名前缀: com.test.server
  17. 4. 排除的类名:
  18. 5. 加密配置文件:
  19. 6. ClassPath:
  20. 7. 密码: 123456
  21. 8. 机器码: 8289EC0890F26285EC4771FE8036D59FD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E
  22. -------------------------
  23. 处理中...
  24. 加密完成,请牢记密码!
  25. ==>demo-encrypted.jar

4.4启动jar命令

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

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

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

                                                END  撒花~~

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

闽ICP备14008679号