隨筆-124  評論-49  文章-56  trackbacks-0

          http://www.kpdus.com/jad.html   官方最新版本,支持jdk1.6 

          Java下的一個簡單易用的反編譯工具jad, 可以很方便的將.class反編譯為.Java. 點擊下載  

          一、基本用法
          Usage:jad [option(s)]
          直接輸入類文件名,且支持通配符,如下所示。
          c:\Java\>jad example1.class
          c:\Java\>jad *.class
          結果是將example1.class反編譯為example1.jad。將example1.jad改為example1.Java即得源文件。

          二、Option -o
          不提示,覆蓋源文件

          三、Option -s
          c:\Java\>jad -sJava example1.class
          反編譯結果以.Java為擴展名。

          四、Option -p
          將反編譯結果輸出到屏幕
          c:\Java\>jad -p example1.class
          將反編譯結果重定向到文件
          c:\Java\>jad -p example1.class>example1.Java

          五、Option -d
          指定反編譯的輸出文件目錄
          c:\Java\>jad -o -dtest -sJava *.class

          該文章轉載自網絡大本營:http://www.haoad.net/Info/3883.Html

            反編譯別人的程序是不對的,但是有時候由于某種原因,不得不反編譯別人的代碼,那就需要一個工具了。小穎JAVA源代碼反編譯專家V1.4終極版是個很好的工具,但是只能對JDK1.4.2和之前的版本編譯的程序反編譯,而JDK5.0后的就無能為力了,但是可以下載JAD.EXE來逐個反編譯 CLASS文件,不過如果碰到有幾十個或幾百個文件夾,并且目錄很深的時候,就麻煩了,這個給出一個直接使用命令行反編譯整個目錄的方法:使用jad批量反編譯

          jad -o -r -sjava -d src bin/**/*.class

          src: 是反編後的目錄

          bin:指 package 開頭

          將bin里面所有的.class反編譯到src下面JAD下載: 文件名: jadnt157.ziphttp://download.pchome.net/php/dl.php?sid=9111


          jad:反編譯工具
          可以將class文件反編譯成java文件
          假設將jad.exe安裝在f:\java\jad目錄下
          把要反編譯的文件*.class復制到此目錄下,接著接以下步驟,
          在命令行窗口環境中進入jad目錄,
          然后運行:jad -s java *.class   (附,*.class指要反編譯的文件名)
          如果*.class文件和jad程序不在同一個目錄,就要用到path環境變量,
          將jad 所在目錄加到path路徑中即可:set path=%path%;f:\java\jad
          若要了解jad更為詳細的使用幫助信息,直接運行jad.exe查看

          以下假設jad.exe在c:\java目錄下

          一、基本用法
          Usage:jad [option(s)]
          直接輸入類文件名,且支持通配符,如下所示。
          c:\java\>jad example1.class
          c:\java\>jad *.class
          結果是將example1.class反編譯為example1.jad。將example1.jad改為example1.java即得源文件。

          二、Option -o
          不提示,覆蓋源文件

          三、Option -s
          c:\java\>jad -sjava example1.class
          反編譯結果以.java為擴展名。

          四、Option -p
          將反編譯結果輸出到屏幕
          c:\java\>jad -p example1.class
          將反編譯結果重定向到文件
          c:\java\>jad -p example1.class>example1.java

          五、Option -d
          指定反編譯的輸出文件目錄
          c:\java\>jad -o -dtest -sjava *.class

          六、Option -r
          按*.class的包結構輸出文件目錄
          c:\java\>jad -o -r -dtest -sjava d:/1/**/*.class
          將d:\1\文件夾下的.class文件按照原程序的包結構反編譯到test目錄下。

          命令行選擇的列表

                -a        - 用JVM字節格式來注解輸出
                -af       - 同 -a,但是注解的時候用全名稱
                -clear    - 清除所有的前綴
                -b        - 輸出多于的括號 (e.g., if(a) { b(); }, default: no)
                -d

          - 指定輸出文件的文件目錄
                -dead      -試圖反編譯代碼的dead 部分(default: no)
                -disass   - 不用用字節碼的方式反編譯 (no JAVA source generated)
                -f        - 輸出整個的名字,無論是類還是方法
                -ff        -輸出類的成員在方法之前 (default: after methods)
                -i        - 輸出所有的變量的缺省的最初值
                -l    - 將strings分割成指定數目的塊的字符 (default: no)
                -lnc      - 將輸出文件用行號來注解 (default: no)
                -nl       - 分割strings用新行字符 newline character (default: no)
                -nodos    -不要去檢查class文件是否以dos方式寫 (CR before NL, default: check)
                -nocast   - 不要生成輔助文件
                -nocode    -不要生成方法的源代碼
                -noconv    - 不要轉換java的定義符 (default: do)
                -noctor   - 不允許空的構造器存在
                -noinner   -關掉對內部類的支持 (default: turn on)
                -nolvt    - 忽略局部變量的表信息
                -nonlb     - 不要輸出一個新行在打開一個括號之前 (default: do)
                -o        - 無需確認直接覆蓋輸出 (default: no)
                -p        - 發送反編譯代碼到標準輸出 STDOUT (e.g., for piping)

           

          posted on 2009-12-13 22:40 junly 閱讀(963) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 和静县| 文化| 临城县| 蒙城县| 宣汉县| 冀州市| 永顺县| 米林县| 永济市| 兴国县| 巴南区| 宜兰县| 商南县| 西青区| 阜城县| 榕江县| 安丘市| 平顺县| 镇远县| 安义县| 隆林| 金阳县| 南乐县| 和田县| 日喀则市| 长岛县| 萨嘎县| 安国市| 太康县| 子洲县| 平乐县| 琼结县| 昔阳县| 睢宁县| 南昌市| 邵武市| 民权县| 城口县| 滕州市| 中牟县| 仙游县|