⑴ JAD中文是什麼
JAD(應用程序開發聯系會議) 召開應用程序開發聯系會議 應用程序開發聯系( J A D)會議是范圍廣的、簡便的專題討論會( w o r k s h o p),也是分析人員與客戶代表之間一種很好的合作辦法,並能由此擬出需求文檔的底稿。 出自《軟體需求》第三章-》需求獲取 java 應用程序描述符 (JAD) JAD 文件包含 MIDlet 套件的標題信息,例如開發應用程序的公司、應用程序名稱和大小。在將應用程序下載到設備上時,將先下載和讀取描述符,然後再下載和讀取包含 MIDP 應用程序的 JAR 文件。在裝入 MIDlet 套件的完整 JAR 文件之前,移動設備上的應用程序管理軟體可使用 JAD 文件驗證 MIDlet 是否適用於該設備。JAD 還向 MIDlet 提供特定於配置的屬性(參數),而無需修改 JAR 文件。這樣設備便可以確認是否具有足夠的空間用於存放應用程序,以及是否應下載完整的應用程序。 Java 文件的擴展名為 .jad。 JAD是軟體配置信息文件,JAR才是真正的程序,你可以把兩個文件放在一起安裝JAD,也可以直接安裝JAR文件。 JAD 文件為純文本格式,可用記事本打開。一個 JAD 文件至少需要包含包含如下屬性: MIDlet-Name。向用戶標識 MIDlet 的 MIDlet 套件名稱。 MIDlet-Version。MIDlet 套件的版本號。應用程序管理軟體使用該版本號執行安裝操作和升級,以及與用戶進行通信。 MIDlet-Vendor。 提供 MIDlet 套件的組織。 根據項目配置所支持的 MIDP 版本,還可以使用其他屬性: MIDlet-JAR-URL。此 MIDlet 套件的 JAR 文件的位置和名稱。 MIDlet-JAR-Size。通過此 MIDlet 套件生成的 JAR 文件的大小。每次生成 JAR 文件後,都會更新此只讀屬性。 MicroEdition-Profile。所需的 Java ME 配置文件,它使用與系統屬性 microedition.profiles 相同的格式和值(例如 MIDP-1.0)。 MicroEdition-Configuration。 所需的 Java ME 配置,它使用與系統屬性 microedition.configuration 相同的格式和值(例如 CLDC-1.0)。 MIDlet-Description。MIDlet 套件的描述。 MIDlet-Icon。JAR 文件內的 PNG 文件名,用於表示 MIDlet 套件。應用程序管理軟體顯示了標識此套件的圖標。 MIDlet-Info-URL。一個 URL,提供進一步描述 MIDlet 套件的信息。 MIDlet-Data-Size。MIDlet 所需的持久性數據的最少位元組數。設備可以根據其自身的策略提供額外的存儲。 此外,JAD還是一個簡單易用的反編譯工具,可以將二進制位元組碼文件轉換成java源文件。 在眾多的JAVA反編譯工具中,有幾種非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI』s Java Class Viewer和國產的JAVA源代碼反編譯專家等等。 JAD本身是一個命令行工具,沒有圖形界面,上述的這些工具大多是在JAD內核的基礎之上加了一個圖形界面而已。這么多種產品的共同選擇,足可證明JAD在JAVA反編譯領域中的尊貴地位。
⑵ 如何將java中的.class文件反編譯
安裝Java jdk後
看安裝目錄里有沒有jad.exe,沒有要下載,一般都有的
配置Java環境變數
開始-運行-cmd-回車-進入命令行窗口:
cd+空格+class文件所在路徑:
按下面的命令進行反編譯:
例如:[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,不過你仍然會發現所有的源代碼文件被放到了同一個文件中,沒有按照class文件的包路徑建立起路徑
[7] 把packages目錄以及子目錄下的文件全部反編譯並建立和java包一致的文件夾路徑,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 當重復使用命令反編譯時,Jad會提示「whether you want to overwrite it or not」,使用-o可以強制覆蓋舊文件
[9] 還有其他的參數可以設置生成的源代碼的格式,可以輸入jad命令查看幫助,這里有個人做了簡單的翻譯:jad命令總結
[10] 當然,你會發現有些源文件頭部有些注釋信息,不用找了,jad沒有參數可以去掉它,用別的辦法吧。