使用xjar

背景:

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

 

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

        <!-- 添加 XJar 依赖 -->
            <dependency>
                <groupId>com.github.core-lib</groupId>
                <artifactId>xjar</artifactId>
                <version>4.0.2</version>
                <!-- <scope>test</scope> -->
            </dependency>

        <!-- 设置 jitpack.io 仓库 -->
        <repositories>
            <repository>
                <id>jitpack.io</id>
                <url>https://jitpack.io</url>
            </repository>
        </repositories>

 

二、新建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

posted @ 2022-06-20 10:52  jamstack  阅读(656)  评论(0编辑  收藏  举报