SpringBoot Jar 包安全加固: 防反编译
## Java 源码保护方案探讨:xjar 和 jar-projectJava 语言特性导致源码易被反编译,本文探讨两种基于 ClassLoader 的加密方案:xjar 和 jar-project。
**一. xjar (https://github.com/core-lib/xjar.git)**
* 支持 Spring Boot 和原生 JAR 包加密。
* 基于 JAR 资源加密和扩展 ClassLoader 实现动态解密运行,防止源码泄露。
* 优点:密钥不显示在文件中。
* 缺点:
* 不兼容 JDK 17,需使用 go 语言编译可执行文件。
**二. jar-project (https://gitee.com/chejiangyi/jar-protect.git)**
* 专为 Spring Boot 项目开发的加壳加密技术,用于保护软件版权。
* 支持 JDK 17+ 和 Springboot3。
* 优点:
* 支持 JDK 17+ 和 Springboot3。
* 不依赖其他语言。
* 缺点:
* 密钥需要在配置文件配置。
* 需要使用 `-javaagent` 参数启动。
**总结:**
两种工具各有利弊,xjar 可以改造支持打包成可执行文件,jar-project 也可通过改造去除配置文件和 go 依赖。欢迎各位分享其他 Java 源码保护方案。
页:
[1]