您的位置 首页 java

如何避免springboot jar包源码泄露以及反编译

近期笔者在为客户做 私有云 的部署。而这个客户有个特点,喜欢破解。为了防止源码泄漏,决定对jar包进行加密。

X JAR

Xjar基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动,动态解密运行的方案,避免源码泄露或反编译。它不需要侵入代码,只需要把编译好的JAR包通过工具加密即可。

引入 pom

 <dependency>
  <groupId>com.github.core-lib</groupId>
  <artifactId>xjar</artifactId>
  <version>4.0.0</version> 
</dependency>

<dependency>
  <groupId>org. apache .commons</groupId>
  <artifactId>commons- compress </artifactId>
<version>1.20</version>
</dependency>  

添加repositories内容,否则可能存在jar导入失败

 <repositories>
        <repository>
            <id>jitpack</id>
            <url>
        </repository>
    </repositories>  

编写main方法对jar包进行加密

 package com.test;

import io.xjar.XCryptos;

public class Test {

 		public  static   void  main(String[] args) throws Exception {
        encrypt();
    }

    public static void encrypt() throws  Exception  {

        XCryptos.encryption()
                // 项目生成的jar
                .from("D:\project\AIP\aip-admin\target\source.jar")
                // 加密的密码
                .use("testaa1111122222")
                . include ("/**/*.class")
                .include("/**/*.xml")
                .include("/**/*.yml")
                .to("D:\project\AIP\temp\test.jar");
    }
}  

此时会在指定路径生成test.jar以及xjar.go 文件

安装go环境

test.jar目录下执行go bulid xjar.go,生成xjar.exe

启动项目

window : xjar.exe java -jar test.jar (如果报错,查看报错内容并更正)

linux: nohup ./xjar java -jar test.jar

至此,便完成对spring boot jar包的加密了

文章来源:智云一二三科技

文章标题:如何避免springboot jar包源码泄露以及反编译

文章地址:https://www.zhihuclub.com/175583.shtml

关于作者: 智云科技

热门文章

网站地图