更新時間:2021-11-12 12:26:10 來源:動力節點 瀏覽950次
Java反編譯工具是Java開發工具中常用的,反編譯,通俗來講,就是將.java 文件經過編譯生成的 .class 文件還原。注意這里的還原不等于 .java 文件。因為Java編譯器在編譯.java 文件的時候,會對代碼進行一些處理。
那么接下來介紹幾款 Java 反編譯工具:
這是一款使用很廣泛的 Java 反編譯工具,對 Java 底層代碼的還原比較徹底。
官網:https://varaneckas.com/jad/
包括圖形化界面,eclipse插件以及idea插件,采用C++開發,支持蘋果Mac、微軟windows以及Linux多個平臺,可以反編譯class文件、jar包等。用的人比較多。但是它已經好久沒有更新了,jdk7的代碼很多語法都不支持,就別提已經大熱的jdk8了,在我說完這句話的時候,去oracle官網一看,jdk10都發布惹。。。不過憑借著便捷與圖形化還是再加上時間的沉淀,老四還是給它排在第一位。對了,JD-GUI的核心其實是聽過jd-core來完成的。
eclipse的插件安裝方法也是常規操作,jd-gui官網下載eclipse插件,解壓放到你的eclipse安裝目錄就好了。然后在你的eclipse中用jd形式打開class文件就可以了,但是貌似jd已經不支持java 8的反編譯了,在eclipse中直接報錯,使用的時候請注意。因為老四目前沒有安裝idea,所以不介紹idea的jd-gui插件了。
這款201313年橫空出世,至今都保持更新的反編譯工具,因為其持續更新承接java的變化而且反編譯效果非常良好,越來越來被人們更多的使用,根據cfr官網上的介紹,CFR支持反編譯當今最新的Java特性--Java 8,例如lambda表達式以及java7中的switch支持String類型等。
cfr沒有圖形化工具,需要在命令行中使用,首先的你的系統要配置java的環境,然后進入到cfr的jar包目錄,運行類似如下的命令。
你一定覺得很不方便,對不對?一定在想是否存在便捷一點的工具,對不對?其實工具也就是一個腳本而已,也沒有方便太多,這里放出一個腳本文件,至于用不用您自己參考。
@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
java -jar -Duser.language=en "%~dp0\cfr.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
如果大家想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面的知識更加豐富,從入門到精通,適合小白學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習