jd gui下載 最新軟(ruǎn)件|熱門(mén)排行|軟件分類|軟件專題(tí)|廠商大全

您的位置: 首頁(yè)編程開發(fā)編程工具 → jd-gui.exe(java反編譯(yì)工具) v1.6.0 綠(lǜ)色免費版

jd-gui.exe(java反編譯工具)

v1.6.0 綠色免費版 jd-gui.exe(java反編譯(yì)工具(jù)) 網(wǎng)友(yǒu)評分(fèn):8

同類(lèi)相關軟件

軟件介紹

jd gui全(quán)稱(chēng)為java decompiler,就(jiù)是一(yī)個java語(yǔ)言的反編譯軟件,適合於java編程人(rén)員使(shǐ)用(yòng),它可以對完整的jar文(wén)件進行反編譯,還可以(yǐ)直接修改相關的代碼,以及一些其他(tā)的功(gōng)能(néng)。大家使用(yòng)前注意看下(xià)方(fāng)的使用幫助哦!教你(nǐ)如何解決打不開的(de)問(wèn)題。

jd-gui使用幫助

第一(yī)次運行的時(shí)候可能提示“this application requires a Java Runtime Environment 1.8.0”(如下圖所示),後麵的版本號可能會是1.5.0-1.8.0.

jd gui

這個大概的意思就是缺失java1.8.0的支持,隻要安裝一(yī)個就可以(yǐ)了(le),點擊“確定”會自動跳轉到(dào)官網進行安裝;或者點擊下麵的鏈接(jiē)進行安(ān)裝。

什麽是反編譯

大家都知(zhī)道,將源代碼(mǎ)轉換成二進製執行代(dài)碼的過(guò)程叫(jiào)“編譯”,比如將C源代碼編譯成exe可執(zhí)行文件;那麽把二(èr)進製執行(háng)代碼的過程就叫“反編(biān)譯(yì)”,比如把exe轉換為C源(yuán)代碼就叫(jiào)“反編譯”。

由於主流的C的(de)編譯器都進行了代(dài)碼的(de)優化,因此把C編譯生成的exe文件(jiàn)反編譯(yì)成C代(dài)碼非常困難(nán)。但是像(xiàng)Java、.net這樣基於虛擬(nǐ)機技術(shù)的編程語言則反編(biān)譯非常容易,Java平台下有Jad、Jode、JD等反編譯器(qì),.net平台(tái)下則有(yǒu)Reflector等(děng)反編譯器,反編譯質量(liàng)非常高(gāo),甚至和源代(dài)碼幾乎(hū)沒什麽差別(bié)。

反編譯得到的是源代碼嗎?

反編譯(yì)得到的代碼是非(fēi)常接近於源代碼,但是或多或(huò)少(shǎo)與源代碼(mǎ)有(yǒu)一些差異(yì)的,比如一些表達式(shì)被優化(huà)掉了,比(bǐ)如:

下麵的(de)源代碼:

int i=1+1;

學過《編譯原理》的(de)同學(xué)知道有(yǒu)“常量優化”這個編譯優化算法,因此(cǐ)上邊的源(yuán)代(dài)碼一(yī)般會被優(yōu)化為:int i=2;

由於(yú)在編譯過程中已經進行了優化,把“1+1”這個原始(shǐ)的信(xìn)息丟掉了,因此反編譯出來的(de)代碼隻能(néng)是:

int i=2;

可以看到反(fǎn)編(biān)譯得到的代碼(mǎ)和源代碼是有區(qū)別的。

比如(rú):andriod中(zhōng)

download = (Button)findViewById(R.id.xiaz);

被優化成了download = (Button)findViewById(0x7f070018);

主(zhǔ)要功(gōng)能

一、支持眾(zhòng)多java編譯器的(de)反編譯;

二、支持對整個(gè)Jar文件進行(háng)反編譯,並本源代碼可直接(jiē)點擊進行相(xiàng)關代碼的跳轉(zhuǎn);

jd gui使用方法

解壓縮後打開軟件,直接(jiē)將jar包拖進去就可以進行(háng)編譯了。

jd gui下(xià)載

androids反編譯說明:

androids的apk反編譯工具,適合大家一起學,可以把androids生成的apk轉為java代碼,希望對(duì)大家有(yǒu)用(yòng)。

一(yī)、更改apk文件(jiàn)的後綴名,如:LianyunHelper3.0.11.apk改成LianyunHelper3.0.11.zip

二、用zip解壓縮LianyunHelper3.0.11.zip文(wén)件

三、從解壓(yā)縮的文件(jiàn)夾中取出classes.dex文件並放到dex2jar.bat所(suǒ)在(zài)目錄

四、運行(háng)cmd命令,進入(rù)dex2jar.bat所在的(de)目錄,輸入dex2jar.bat classes.dex即可(kě)生成classes.dex.dex2jar.jar文件(jiàn)

五、用jd-gui工具打開classes.dex.dex2jar.jar文件,即可(kě)看(kàn)到源碼

六(liù)、將androidsManifest.xml文件放(fàng)到AXMLPrinter2.jar所在目(mù)錄,運(yùn)行cmd命令(lìng),進入 AXMLPrinter2.jar所在目錄,輸入java -jar AXMLPrinter2.jar androidsManifest.xml > androidsManifest.txt。

常見問題

JD-Core和(hé)JD-GUI區別:

JD-Core是一個免費(fèi)的庫,從一(yī)個或多個“.class”文件中 重構Java源代碼。JD-Core可以用來恢(huī)複丟失的源代碼,並深究Java運行時類庫。支持Java 5的功能:如(rú)注釋,泛型或枚舉 。

JD-GUI 和(hé) JD-eclipse都包括JD-Core。JD-GUI是一(yī)個獨立的顯示“.class” 文(wén)件(jiàn)Java源代碼的圖(tú)形用戶界麵工(gōng)具。您可以使用(yòng)JD-GUI瀏覽和重建源(yuán)代碼(mǎ)的(de)即時訪(fǎng)問方法(fǎ)和字段,以代碼高度方式來顯示(shì)反編譯過來的代碼。

更新日誌(zhì)

v1.6.0更新內容:

1.修正了“.class”表達式的識別錯誤。

2.修正錯(cuò)誤識別“開(kāi)關枚(méi)舉”指令。

3.用(yòng)已知的數字常量(例如Long.MAX_VALUE)替換數值。

4.刪除了不必要的“java.lang”前綴。

5.修(xiū)正了在最後位(wèi)置上包含三元運算符的try-cacht語(yǔ)句的識別錯誤。

6.添加了返回(huí)的通用變量的轉換說(shuō)明。

7.隱藏匿名類的合(hé)成字(zì)段(duàn)。

軟件(jiàn)截圖

下(xià)載地(dì)址 電腦版

點擊(jī)報錯 軟(ruǎn)件無(wú)法下載(zǎi)或下載後無法使用,請點擊報錯,謝謝!

用戶評論

熱門評論

最新評論

第 2 樓 江蘇連(lián)雲港客人 發表(biǎo)於(yú): 2021/06/04 15:39:40
用來工作非常(cháng)好用

支持(0) 蓋(gài)樓(回複(fù))

第 1 樓 福建廈(xià)門客人 發表於: 2021/04/13 13:57:05
感謝,終於(yú)打開了

支持(chí)(0) 蓋樓(回(huí)複)

發表評論 查看所有評論(2)

昵稱:
請(qǐng)不要評論無意義或(huò)髒話,我們所有(yǒu)評論(lùn)會有人工審核.
字數(shù): 0/500 (您(nín)的評論需要經過審核才能顯(xiǎn)示(shì))