古詩詞大全網 - 成語故事 - 如何將.class文件轉換成.java文件

如何將.class文件轉換成.java文件

將WAR中的.class文件反編譯成.java文件,反編譯軟件我用的是Java Decompiler", 由 Pavel Kouznetsov開發,目前最新版本為0.2.5.它由 C++開發,並且官方可以下載 windows、linux和蘋果Mac Os三個平臺的可執行程序。

如何將現有的web程序導入到myeclipse環境中去

如果要將別人發布的war包,導入到自己的eclipse環境中進行再開發,最快的方法如下:

1、新建壹個myeclipse的web project。

2、右鍵該工程,myeclipse/add struts capability,設置成struts開發環境。

3、將war包解壓,全目錄覆蓋新工程的WebRoot(包括其中的web-inf/meta-inf目錄),相應的scr目錄(或者對應的包含java文件的目錄)覆蓋eclipse的src目錄。myeclipse會自動將WEB-INF\lib下的jar包作為放到classpath中的。

4、refresh該工程,over。

JAVA語言是1995年5月由SUN公司發布的,由於其安全性高、代碼優化、跨平臺等特性,迅速取代了很多傳統高級語言,占據了企業級網絡應用開發等諸多領域的霸主地位。 不過,JAVA最突出的跨平臺優勢使得它不能被編譯成本。

JAVA語言是1995年5月由SUN公司發布的,由於其安全性高、代碼優化、跨平臺等特性,迅速取代了很多傳統高級語言,占據了企業級網絡應用開發等諸多領域的霸主地位。 中國網管聯盟www、bitsCN、com

不過,JAVA最突出的跨平臺優勢使得它不能被編譯成本地代碼,而要以中間代碼的形式運行在虛擬機環境中,這使得JAVA的反編譯要比別的高級語言容易實現,並且反編譯的代碼經過優化後幾乎可以與源代碼相媲美。

為了更好地保護知識產權,避免本公司的智力成果輕易被人竊取,開發者有必要對反編譯工具深入了解,以便有針對性地采取保護措施。

目前,比較流行的JAVA反編譯工具有近30種,其中有三款堪稱精品:

壹、 應用廣泛的JAD

在眾多的JAVA反編譯工具中,有幾種非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI’s Java Class Viewer和國產的JAVA源代碼反編譯專家。

JAD本身是壹個命令行工具,沒有圖形界面,上述的這些工具大多是在JAD內核的基礎之上加了壹個圖形界面而已。這麽多種產品的***同選擇,足可證明JAD在JAVA反編譯領域中的尊貴地位。

筆者用來測試的JAD版本是1.5.8f。

JAD是使用Microsoft Visual C++開發的,運行速度非常快,可以處理很復雜的JAVA編譯文件。眾多的參數使JAD可以靈活應付多種加密手段,令反編譯的代碼更加優化和易讀。由於JAD參數太多,沒必要壹壹解釋,其中有幾個最常用的如下:

54com.cn

-d

- 用於指定輸出文件的目錄

-s - 輸出文件擴展名(默認為: .jad),通常都會把輸出文件擴展名直接指定為.java,以方便修改的重新編譯。

-8 - 將Unicode字符轉換為ANSI字符串,如果輸出字符串是中文的話壹定要加上這個參數才能正確顯示。

最常用的反編譯指令如下所示:

Jad –d c:\\javasource –s .java -8 javatest.class

這條指令將當前目錄下的javatest.class反編譯為javatest.java並保存在c:\\javasource目錄裏,其中的提示輸出為中文,而不是Unicode代碼。

二、 源碼開放的JODE

JODE是全球最大的開源項目網站Sourceforge.net的成員,不要以為源碼開放就小瞧它,在所有的JAVA反編譯器中,JODE的反編譯效果是最好的,尤其是對付壹些常見的加密手段,例如混淆技術等,更是出類拔粹。

JODE本身也是純JAVA開發的,最近越來越多的JAVA反編譯軟件也選擇JODE來做它們的核心引擎,例如JCavaj Java Decompiler、BTJ (Back To Java)、jEdit’s JavaInsight plugin等。

JODE是壹個可運行的JAR文件,在windows環境下雙擊即可運行。

中國網管聯盟www.bitscn.com

需要特別說明的是,JODE不是通過常規的Open->File的方式來加載JAVA編譯後的類文件(*.class)或是類包(*.jar)的,而是通過在Options菜單中的Set Classpath來實現的,單獨的類文件可以將它的上壹級目錄作為Classpath輸入,然後再選擇Reload Classpath即可。