真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java進(jìn)行反編譯的方法

什么是反編譯?

成都創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元望謨做網(wǎng)站,已為上家服務(wù),為望謨各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

反編譯的過(guò)程與編譯剛好相反,就是將已編譯好的編程語(yǔ)言還原到未編譯的狀態(tài),也就是找出程序語(yǔ)言的源代碼。就是將機(jī)器看得懂的語(yǔ)言轉(zhuǎn)換成程序員可以看得懂的語(yǔ)言。

Java語(yǔ)言中的反編譯一般指將class文件轉(zhuǎn)換成java文件。 

有了反編譯工具,我們可以做很多事情,最主要的功能就是有了反編譯工具,我們就能讀得懂Java編譯器生成的字節(jié)碼。比如我們就可以洞悉Java語(yǔ)法糖背后的原理。

Java常用反編譯工具

主要介紹4個(gè)Java的反編譯工具:javap、jad和cfr以及可視化反編譯工具JD-GUI

JAVAP

javap是jdk自帶的一個(gè)工具,可以對(duì)代碼反編譯,也可以查看java編譯器生成的字節(jié)碼。javap和其他兩個(gè)反編譯工具最大的區(qū)別是他生成的文件并不是java文件,也不像其他兩個(gè)工具生成代碼那樣更容易理解。

javap并沒(méi)有將字節(jié)碼反編譯成java文件,而是生成了一種我們可以看得懂字節(jié)碼。其實(shí)javap生成的文件仍然是字節(jié)碼,只是程序員可以稍微看得懂一些。如果你對(duì)字節(jié)碼有所掌握,還是可以看得懂以上的代碼的。其實(shí)就是把String轉(zhuǎn)成hashcode,然后進(jìn)行比較。

JAD

JAD是一個(gè)比較不錯(cuò)的反編譯工具,只要下載一個(gè)執(zhí)行工具,就可以實(shí)現(xiàn)對(duì)class文件的反編譯了。還是上面的源代碼,使用jad反編譯后內(nèi)容如下:

命令:jad.exe Decompilation.class 會(huì)生成一個(gè)Decompilation.jad的文件

CFR

JAD很好用,但是無(wú)奈的是很久沒(méi)更新了,所以只能用一款新的工具替代他,CFR是一個(gè)不錯(cuò)的選擇,相比JAD來(lái)說(shuō),他的語(yǔ)法可能會(huì)稍微復(fù)雜一些,但是好在他可以用.

CFR將反編譯現(xiàn)代Java特性–Java 8 lambdas(Java和更早版本中的Java beta 103),已經(jīng)反編譯Java 7 String,但CFR是完全用Java 6編寫(xiě)的.

JD-GUI

JD-GUI 是一個(gè)用 C++ 開(kāi)發(fā)的 Java反編譯工具,由 Pavel Kouznetsov開(kāi)發(fā),支持Windows、Linux和蘋(píng)果Mac Os三個(gè)平臺(tái)。而且提供了Eclipse平臺(tái)下的插件JD-Eclipse。

JD-GUI 基于GPLv3開(kāi)源協(xié)議,對(duì)個(gè)人使用是完全免費(fèi)的。JD-GUI主要的是提供了可視化操作,直接拖拽文件到窗口既可,效果圖如下

java進(jìn)行反編譯的方法

以上就是java如何反編譯的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!


本文題目:java進(jìn)行反編譯的方法
文章位置:http://weahome.cn/article/jdgjch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部