XJar,是一款Spring Boot JAR 安全加密运行工具, 同时支持的原生JAR.
基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动, 动态解密运行的方案, 避免源码泄露以及反编译.
功能特性
- 无代码侵入, 只需要把编译好的JAR包通过工具加密即可.
- 完全内存解密, 降低源码以及字节码泄露或反编译的风险.
- 支持所有JDK内置加解密算法.
- 可选择需要加解密的字节码或其他资源文件.
- 支持Maven插件, 加密更加便捷.
- 动态生成Go启动器, 保护密码不泄露.
对Springboot打包后的jar加密处理后,jd-gui已不能反编译成功
github地址:https://github.com/core-lib/xjar
1、引入 pom
1 | <!-- 防止反编译加密 --> |
2、 通过main方法运行
1 | import io.xjar.XCryptos; |
3、详细步骤说明:
(1)、对Springboot项目maven打包后生成的jar,以上述代码运行,可得到加密后的jar(此时加密的jar经jd-gui反编译报错)
(2)、生成加密jar的同时,目录下会生成xjar.go的GO启动器文件
(3)、对xjar.go编译(需要安装go环境,区分windows和linux),生成对应的go执行器。命令:
1 | go build xjar.go |
4、编译之后,得到执行器:
window:xjar.exe
linux:xjar
5、项目启动运行:
window:
1 | xjar.exe java -jar test.jar |
linux:
1 | nohup ./xjar java -jar test.jar |