記錄如下……
XJar
對Springboot打包後的jar加密處理後,jd-gui已不能反編譯成功
github地址:https://github.com/core-lib/xjar
1 pom
<!-- 防止反編譯加密 -->
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.0</version>
</dependency>
<!-- xjar的依賴,否則會報錯 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.20</version>
</dependency>
<repositories>
<repository>
<id>jitpack</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
2 通過main方法運行
import io.xjar.XCryptos;
public static void main(String[] args) throws Exception {
produce();
}
public static void produce() throws Exception {
XCryptos.encryption()
// 項目生成的jar
.from("D:\\projects\\test\\target\\test.jar")
// 加密的密碼
.use("testaa1111122222")
// 要加密的資源
.include("/**/*.class")
.include("/**/*.xml")
.include("/**/*.yml")
// 加密後的jar,此時:通過jd-gui反編譯失敗
.to("D:\\temp\\test.jar");
}
詳細步驟說明:
1、對Springboot項目maven打包後生成的jar,以上述代碼運行,可得到加密後的jar(此時加密的jar經jd-gui反編譯報錯)
2、生成加密jar的同時,目錄下會生成xjar.go的GO啓動器文件
3、對xjar.go編譯(需要安裝go環境,區分windows和linux),生成對應的go執行器。命令:
go build xjar.go
4、編譯之後,得到執行器:
window:xjar.exe
linux:xjar
5、項目啓動運行:
window:
xjar.exe java -jar test.jar
linux:
nohup ./xjar java -jar test.jar
6、此時jar通過xjar可正常運行
記錄……
原文:https://blog.csdn.net/ChangeYoung1921/article/details/84621787