軟體開發:支援java8的Java反編譯工具都有哪些?

支援java8的Java反編譯工具都有哪些?

軟體開發:支援java8的Java反編譯工具都有哪些?

木木的娟貝兒2021-01-14 10:04

軟體開發:支援java8的Java反編譯工具都有哪些?

大多商業軟體,會對程式進行加密、加殼等安全措施以防範軟體被破解,從而使得反編譯越來越難。反編譯是一個對目標可執行程式進行逆向分析,從而得到原始碼的過程。尤其是像Java這樣的執行在虛擬機器上的程式語言,更容易進行反編譯得到原始碼。

我們知道,在程式碼支撐方面,JDK 1。7引入了字串Switch、泛型介面改進等新功能,1。8增加了lambda表示式、方法傳遞、多重註解等新特性,這使得反編譯工具的編寫難度加大。今天我們盤點一下目前仍然可用的、相對功能很強大的Java反編譯工具(Eclipse外掛不做評價),比較老的反編譯工具很難支援Java8及其以上版本。

1、Java 反編譯器 JD-GUI

JD-GUI 是一個用 C++ 開發的 Java 反編譯工具,由 Pavel Kouznetsov開發,支援Windows、Linux和蘋果Mac Os三個平臺。而且提供了Eclipse平臺下的外掛JD-Eclipse、IntelliJ的外掛JD-IntelliJ。JD-GUI不需要安裝,直接點選執行,可以反編譯jar,class檔案。

軟體開發:支援java8的Java反編譯工具都有哪些?

最新版本1。4。0,官方網站:http://jd。benow。ca/。

2、Java 反編譯器 procyon-decompiler及其window下獨立UI工具luyten

Procyon-Decompiler支援JDK1。8類的反編譯,在很多方面做得非常不錯,如反編譯匿名類、內部類、Java8 Lambda等等。Procyon-Decompiler支援JDK1。8類的反編譯,在很多方面做得非常不錯:字串的Switch、列舉宣告方面、註解方面、匿名類、內部類、Java8新介面規範、Java8 Lambda表示式、Java8 方法傳遞等。

luyten是Procyon的GUI,是一款操作簡單、功能實用的java反編譯工具,軟體支援*。JAR、*。zip、*。class等型別檔案的反編譯操作,還原度非常高,支援更多功能設定,如顯式匯入、型別、合成元件等等,使用者可根據不同的需求選擇合適的顯示專案,結果更明瞭。

軟體開發:支援java8的Java反編譯工具都有哪些?

軟體開發:支援java8的Java反編譯工具都有哪些?

的最新版本0。53,官方網址:https://github。com/deathmarine/Luyten,只需要下載luyten即可,不用下載Procyon。Procyon最新版本0。5。30。

3、Android反編譯gui工具Jadx

jadx是一款Android反編譯gui工具,它支援apk、dex、jar、class、zip、aar等檔案。jadx操作方便,反編譯後的程式碼可讀性高,同時還擁有較完善的gui介面,除去混淆部分的程式碼,jadx已經非常接近原始碼了。

軟體開發:支援java8的Java反編譯工具都有哪些?

Jadx最高版本v0。7。1,官方地址https://github。com/skylot/jadx/。

軟體開發:支援java8的Java反編譯工具都有哪些?

三個工具中JD-GUI開啟jar檔案反編譯速度飛快、luyten次之、Jadx最慢(有時候需要等好一會,喝杯咖啡先)。三者都會遇到反編譯不出來的情況,建議配合使用。

關注我,瞭解更多開發小知識!歡迎在評論區留下您寶貴意見!

TAG: 反編譯Java工具Java8JD