<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    jad 反編譯 (instruction + tools)

    Posted on 2009-07-26 22:19 Gavin.lee 閱讀(332) 評論(0)  編輯  收藏 所屬分類: 經驗&常識
    首先表一個態:jad真TM 的太好用了,呵,我們經常用的jar包,想查了源碼,對不起,你必須去下載source去,有個這個工具,就不用了,首先介紹下cmd下通過指令操作:

    一:
    (1).完了后將TestSplit.jad -->TestSplist.java,直接打開OK

    C:\Documents and Settings\Administrator\桌面>jad TestSplit.class
    Parsing TestSplit.class... Generating TestSplit.jad

    (2).直接轉化成.java文件

    C:\Documents and Settings\Administrator\桌面>jad -sJava TestSplit.class
    Parsing TestSplit.class... Generating TestSplit.Java

    (3).將.class文件直接打印到控制臺,查看
    C:\Documents and Settings\Administrator\桌面>jad -p TestSplit.class
    // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
    // Jad home page: http://www.kpdus.com/jad.html
    // Decompiler options: packimports(3)
    // Source File Name:   TestSplit.java

    import java.io.PrintStream;

    public class TestSplit
    {

        public TestSplit()
        {
        }

        public static void main(String args[])
        {
            TestSplit testsplit = new TestSplit();
            System.out.println(testsplit.bubbleSort("1,32,23 14 5,16 7"));
        }

        public static String bubbleSort(String s)
        {
            String as[] = s.split(",| ");
            for(int i = 0; i < as.length; i++)
            {
                for(int j = 0; j < as.length - 1 - i; j++)
                    if(Integer.parseInt(as[j]) > Integer.parseInt(as[j + 1]))
                    {
                        String s2 = as[j];
                        as[j] = as[j + 1];
                        as[j + 1] = s2;
                    }

            }

            String s1 = "";
            for(int k = 0; k < as.length; k++)
                if(s1.equals(""))
                    s1 = as[k];
                else
                    s1 = (new StringBuilder()).append(s1).append(",").append(as[k]).
    toString();

            return s1;
        }
    }

    (4).jad -o -r -sjava -d src bin\*.class,將bin里面所有的.class反編譯到src下面
    C:\Documents and Settings\Administrator\桌面>jad -o -r -sjava -d c:\ d:\MyWorkSpace\tools\WebRoot\WEB-INF\classes\com\Gavin\io\*.class
    Parsing d:\MyWorkSpace\tools\WebRoot\WEB-INF\classes\com\Gavin\io\FileAdd.class.
    .. Generating c:\com\Gavin\io\FileAdd.java
    Parsing d:\MyWorkSpace\tools\WebRoot\WEB-INF\classes\com\Gavin\io\FileOperator.c
    lass... Generating c:\com\Gavin\io\FileOperator.java
    Parsing d:\MyWorkSpace\tools\WebRoot\WEB-INF\classes\com\Gavin\io\WriteLog.class
    ... Generating c:\com\Gavin\io\WriteLog.java

    注:將產生: c:\com\Gavin\io文件夾。

    二:
    MyEclipse集成jadClipse,先去網上下
    可惜的是沒有找到直接在MyEclipse下安裝的site地址。

     Jadclipse--一個自動反編譯.class文件的eclipse小插件,開發時候很有用
      1.首先在壓縮包里拿出jad.exe丟到%JAVAHOME%\bin下面去
      2.把壓縮包里的jadclipse_3.3.0.jar丟到eclipse下的plugins目錄下去
      3.啟動eclipse,在preferences下可以看到jadclipse的選項
        (切記jad.exe是放在你當前eclipse關聯的那個jdk目錄的bin下)
      4.在File Association中將.class文件的default打開方式為jadclips

     好的,試著去隨便找個.class文件,雙擊就能看到源代碼了

    主站蜘蛛池模板: 丁香花免费高清视频完整版| 亚洲AV日韩AV天堂久久| 久久久久高潮毛片免费全部播放| 亚洲av午夜电影在线观看| 亚洲大香人伊一本线| 国产亚洲一区二区在线观看| 又粗又大又长又爽免费视频| 日韩一区二区a片免费观看| 久爱免费观看在线网站| 国产裸体美女永久免费无遮挡| 国产精品无码亚洲精品2021| 亚洲av成人综合网| 亚洲理论在线观看| 亚洲日韩区在线电影| 亚洲人成人一区二区三区| 亚洲Aⅴ无码一区二区二三区软件 亚洲AⅤ视频一区二区三区 | 亚洲人配人种jizz| 在线免费观看亚洲| 亚洲国产综合91精品麻豆| 亚洲尤码不卡AV麻豆| 久久亚洲2019中文字幕| 亚洲午夜无码片在线观看影院猛 | 亚洲精品无码你懂的| 亚洲综合国产成人丁香五月激情| 亚洲黄色三级视频| 亚洲精品一区二区三区四区乱码 | sss日本免费完整版在线观看| 日韩欧美亚洲国产精品字幕久久久| 99久久婷婷国产综合亚洲| 亚洲码在线中文在线观看| 久久精品国产亚洲AV香蕉| 亚洲经典在线观看| 亚洲a级在线观看| 亚洲人成图片网站| 亚洲av永久无码天堂网| 国产精品亚洲综合| 日韩在线视频免费| 中文在线免费视频| 久久国产精品一区免费下载| 日本人成在线视频免费播放| 久久99国产综合精品免费|