不行??蓤?zhí)行文件你即使反編譯出來 也不是源碼。包括所有的反編譯軟件,反編譯出來的,都不是源碼,別看著反編譯出來的代碼感覺是對的,有的反編譯出來還是可以運行的都不算。另外反編譯別人的軟件 ,只能自己研究,去過用于商業(yè)用途可是犯法的哦
成都創(chuàng)新互聯(lián)于2013年開始,先為綏棱等服務(wù)建站,綏棱等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為綏棱企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
java代碼的編譯,就是你寫完代碼,java編譯器把它編譯成java虛擬機(jī)認(rèn)識的代碼,然后再由虛擬機(jī)執(zhí)行它。反編譯就是反過來,當(dāng)然這不是java虛擬機(jī)干的事兒,是你找反編譯工具干的事兒,把編譯過的代碼反編譯成人看得懂的源代碼。
安裝Java jdk后
看安裝目錄里有沒有jad.exe,沒有要下載,一般都有的
配置Java環(huán)境變量
開始-運行-cmd-回車-進(jìn)入命令行窗口:
cd+空格+class文件所在路徑:
按下面的命令進(jìn)行反編譯:
例如:[2] jad -sjava example.class 回車
在目錄里可以看到example.java源文件
[1] 反編譯一個class文件:jad example.class,會生成example.jad,用文本編輯器打開就是java源代碼
[2] 指定生成源代碼的后綴名:jad -sjava example.class,生成example.java
[3] 改變生成的源代碼的名稱,可以先使用-p將反編譯后的源代碼輸出到控制臺窗口,然后使用重定向,輸出到文件:jad -p example.class myexample.java
[4] 把源代碼文件輸出到指定的目錄:jad -dnewdir -sjava example.class,在newdir目錄下生成example.java
[5] 把packages目錄下的class文件全部反編譯:jad -sjava packages/*.class
[6] 把packages目錄以及子目錄下的文件全部反編譯:jad -sjava packages/**/*.class,不過你仍然會發(fā)現(xiàn)所有的源代碼文件被放到了同一個文件中,沒有按照class文件的包路徑建立起路徑
[7] 把packages目錄以及子目錄下的文件全部反編譯并建立和java包一致的文件夾路徑,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 當(dāng)重復(fù)使用命令反編譯時,Jad會提示“whether you want to overwrite it or not”,使用-o可以強(qiáng)制覆蓋舊文件
[9] 還有其他的參數(shù)可以設(shè)置生成的源代碼的格式,可以輸入jad命令查看幫助,這里有個人做了簡單的翻譯:jad命令總結(jié)
[10] 當(dāng)然,你會發(fā)現(xiàn)有些源文件頭部有些注釋信息,不用找了,jad沒有參數(shù)可以去掉它,用別的辦法吧。
下面是在網(wǎng)上找的幾種反編譯軟件的安裝以及使用:
一、JD-JUI
官網(wǎng)下載鏈接:
下載之后解壓,
點擊“jd-gui.exe”運行:
直接將".jar"文件拖入進(jìn)去即可查看里邊的“.class”文件,如上圖所示。
二:Luyten
官網(wǎng)下載鏈接:
點擊“l(fā)uyten-0.5.3.exe”下載,下載之后點擊運行,運行后的界面如圖所示,同樣也是講“.jar”文件拖入進(jìn)入即可。
三、在eclipse中安裝反編譯工具
準(zhǔn)備工作:
“jad.exe”下載:
“net.sf.jadclipse_3.3.0.jar”下載:
jad.exe”下載:
“net.sf.jadclipse_3.3.0.jar”下載:
然后將“net.sf.jadclipse_3.3.0.jar”拷貝到eclipse的plugins目錄下,再刪除eclipse的configuration目錄下“org.eclipse.update”文件,這一步很重要!
重啟eclipse,點擊window-Preference-Java,你會發(fā)現(xiàn)里邊多了一個插件“JadClipse”,
選中這個插件,將下圖中紅圈圈的地方的地址填寫為你 “jad.exe”文件的地址
還沒有配置完,先不要close,
點擊General-Editors-File Associations 后,進(jìn)入下邊的界面
設(shè)置.class 文件默認(rèn)打開方式:
設(shè)置.class without source文件的默認(rèn)打開方式,
需要注意的是,“JadClipse Class File Viewer”這個一開始是沒有的,需用添加,如下圖所示:
接下來在eclipse中查看反編譯后的代碼:(這種方法可能不合適,但是能夠查看)
新建一個EJB project,右鍵“import”,選中"EJB JAR file",導(dǎo)入你的jar包,F(xiàn)inish
在項目下找你要查看的反編譯的文件即可,如果你遇到了下邊的這種情況
關(guān)閉這個文件后再次打開,就可以查看了(我的是這樣,所以我感覺這個方法不太好,但別的方法又不知道怎么查看):
有錯誤或者有更好的方法,希望大家在下邊留言指出