基本介绍
Spring Boot JAR 安全加密运行工具, 同时支持的原生JAR
基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动, 动态解密运行的方案, 避免源码泄露以及反编译。
功能特性
- 无代码侵入, 只需要把编译好的JAR包通过工具加密即可.
- 完全内存解密, 降低源码以及字节码泄露或反编译的风险.
- 支持所有JDK内置加解密算法.
- 可选择需要加解密的字节码或其他资源文件.
- 支持Maven插件, 加密更加便捷.
- 动态生成Go启动器, 保护密码不泄露.
环境依赖
JDK 1.7 +
Go环境
使用步骤
1. 添加依赖
<project>
<!-- 设置 jitpack.io 仓库 -->
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
</project>
- 必须添加 https://jitpack.io Maven仓库。
2. 插件集成
随着Maven构建自动生成加密后的JAR和Go启动器源码文件。
xjar-maven-plugin GitHub: https://github.com/core-lib/xjar-maven-plugin
<project>
<!-- 设置 jitpack.io 插件仓库 -->
<pluginRepositories>
<pluginRepository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</pluginRepository>
</pluginRepositories>
<!-- 添加 XJar Maven 插件 -->
<build>
<plugins>
<plugin>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar-maven-plugin</artifactId>
<version>4.0.2</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
<phase>install</phase>
<configuration>
<!-- 目标jar名称 -->
<targetJar>${project.build.finalName}-encrypted.jar</targetJar>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
3. 打包(指定jar包加密密码)
mvn clean package -Dxjar.password=XXX
打包后的文件如下:
4. 安装go环境
下载地址:https://golang.google.cn/dl/
5. 生成启动器可执行文件
- 将 xjar.go 在不同的平台进行编译即可得到不同平台的启动器可执行文件, 其中Windows下文件名为 xjar.exe 而Linux下为 xjar.
6. 启动运行
/path/to/xjar java -jar /path/to/encrypted.jar
nohup /path/to/xjar java -jar /path/to/encrypted.jar
- 在 Java 启动命令前加上编译好的Go启动器可执行文件名(xjar)即可启动运行加密后的JAR包.
- 若使用 nohup 方式启动则 nohup 要放在Go启动器可执行文件名(xjar)之前.
- 若Go启动器可执行文件名(xjar)不在当前命令行所在目录则要通过绝对路径或相对路径指定.
- 仅支持通过 -jar 方式启动, 不支持-cp或-classpath的方式.
- -jar 后面必须紧跟着启动的加密jar文件路径
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://typecho.firshare.cn/archives/1530.html
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。避免网络欺诈,本站不倡导任何交易行为。如您私自与本站转载自公开互联网中的资讯内容中提及到的个人或平台产生交易,则需自行承担后果。本站在注明来源的前提下推荐原文至此,仅作为优良公众、公开信息分享阅读,不进行商业发布、发表及从事营利性活动。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。