使用xjar


背景:

spring boot开发的项目,需要对jar包进行一些处理,使用了xjar。

一、在启动类的pom.xml添加如下配置

        
            
                com.github.core-lib
                xjar
                4.0.2
                
            

        
        
            
                <id>jitpack.ioid>
                https://jitpack.io
            
        

二、新建XjarPackage启动类,代码如下

package com.fast;

import io.xjar.XCryptos;

public class XjarPackage {
    /**
     *jar包加密
     */
    public static void main(String[] args) {
        try {
            XCryptos.encryption()
                    .from("D:\\project\\engine\\starter\\target\\engine.jar")
                    // 加密的密码
                    .use("123456")
                    // 要加密的资源
                    .include("/**/*.class")
                    .include("/**/*.xml")
                    .include("/**/*.yml")
                    .include("/**/*.yaml")
                    // 加密后的jar,此时:通过jd-gui反编译失败
                    .to("D:\\build\\engine.jar");
            System.out.println("======》完成");
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

XjarPackage启动类,会在D:/build目录下生成待加密的文件,接着在D:/build目录下执行

go build xjar.go

等完成以后,jar的加密就完成了

三、执行加密后的jar

在D:/build目录下执行如下命令:

xjar java -jar engine.jar

参考资料:

https://blog.csdn.net/qq_47770103/article/details/120785090

https://blog.csdn.net/qq_33278354/article/details/106278539

https://github.com/core-lib/xjar

https://cloud.tencent.com/developer/article/1834470