通过Xjar对jar进行反编译

内容来源于  https://blog.csdn.net/LLLLLiSHI/article/details/106527912

使用Xjarjar包进行反编译操作:

1、导入依赖:

<!-- 添加 XJar 依赖 Java Jar 包加密 ,反编译 -->

<dependency>

  <groupId>com.github.core-lib</groupId>
  <artifactId>xjar</artifactId>
  <version>4.0.0</version>
<!-- <scope>test</scope> --> </dependency> <!-- xjar的依赖,否则会报错 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.20</version> </dependency>

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

     <repositories>

        <repository>

            <id>jitpack</id>

            <url>https://jitpack.io</url>

        </repository>

    </repositories>

3main方法运行

 

package com.test;

import io.xjar.XCryptos;

public class Test {

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

        produce();

    }

    public static void produce() throws Exception {

        XCryptos.encryption()

                // 项目生成的jar

                .from("D:\project\AIP\aip-admin\target\aip-admin.jar")

                // 加密的密码

                .use("testaa1111122222")

                // 要加密的资源

                .include("/**/*.class")

                .include("/**/*.xml")

                .include("/**/*.yml")

                // 加密后的jar,此时:通过jd-gui反编译失败

                .to("D:\project\AIP\temp\test.jar");

    }

}

 

运行之后在指定路径生成test.jar xjar.go 文件

 

4、安装go环境之后(自行百度),执行go bulid xjar.go,生成xjar.exe

 

5、项目启动:

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

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

 

原文地址:https://www.cnblogs.com/luyilan/p/13915153.html