1. 程式人生 > >最新支援java8的Java反編譯工具彙總(大全)!!

最新支援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檔案。


最新版本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等型別檔案的反編譯操作,還原度非常高,支援更多功能設定,如顯式匯入、型別、合成元件等等,使用者可根據不同的需求選擇合適的顯示專案,結果更明瞭。

     luyten的最新版本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已經非常接近原始碼了。

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

   三個工具中JD-GUI開啟jar檔案反編譯速度飛快、luyten次之、Jadx最慢(有時候需要等好一會,喝杯咖啡先)。三者都會遇到反編譯不出來的情況,建議配合使用。
---------------------
原文:https://blog.csdn.net/yannqi/article/details/80847354
版權宣告:本文為博主原創文章,轉載請附上博文連結!