對Springboot的jar加密:防止反編譯

記錄如下……

 

 

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

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章