Spring boot jar包加密(防止放在客户端反编译),XJar加密

前言

  • 测试了下 ProGuard maven 混淆插件,不适合。

  • 重点,jar包免费加密---xjar

  • github-xjar-链接

解决方案

  1. 第一步,新建一个maven项目。

  2. pom添加内容如下,具体看github地址介绍

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


    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>
  1. 新建一个类XJarController随意

public class XJarController {

    //文件地址
    private static final String inPath = "D:\\project\\spring boot\\xmlProject\\xmlSpring\\target\\z-0.0.1-SNAPSHOT.jar";

    //输出地址
    private static final String outPath = "C:\\Users\\klzy\\Desktop\\outPath\\new.jar";

    //加密秘钥
    private static final String secret = "123456";

    public static void main(String[] args) throws Exception {
        hanlderEncryptionJar();
        System.out.println("完成输出");
    }


    /**
     * 加密jar
     *
     * @throws Exception
     */
    private static void hanlderEncryptionJar() throws Exception {
        XCryptos.encryption()
                .from(inPath)
                .use(secret)
                .include("/**.class")
                .include("/**/*.xml")
                .to(outPath);
    }
}

  1. 运行,得到如下图
文件夹
  1. 分环境介绍。

Linux环境

1.系统Centos8.2 ,主要环境是golang俗称go

2.上操作

# yum list | grep golang    // 没有的就要自己搞repo或者直接wget安装吧  --- golang.x86_64
# yum install -y golang

3.版本确认,检查

# go version
go version go1.14.12 linux/amd64  //我的是

4.把文件传到linux上,注意需要两个文件!重点别漏了new.jarxjar.go

5.cd到目录,操作

# go build xjar.go

6.得到如下文件


image.png

7.运行jar,普通运行

 ./xjar java -jar new.jar
  1. 写成sh
#!/bin/sh
cd /路径
nohup  ./xjar java -jar new.jar > new.out &    //需要日志,二选一(一般都有logger了,不用这个了)
./xjar java -jar new.jar  &    //不需要日志,二选一

9.打成系统服务systemctl,.service服务文件

windows环境

  1. 系统-win10

  2. 百度golang windows安装,添加环境,emmm

  3. 操作

# go build xjar.go

4.得到xjar.exe,跟linux差不多操作了

5.cd到目录,然后操作

 xjar.exe java -jar new.jar

Ps

  • 混淆踩了很多坑,发现web jar 果然不适合混淆。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容