摘要:怎樣去用如果要簡單的反編譯一個文件的話,用以下命令這個命令在當前文件夾下創建了一個文件如果文件已經存在的話,會提示你是否要覆蓋這個文件。
安裝
解壓縮jad.zip包,并把它放在你硬盤的某個目錄下。將會創建兩個文件 jad.exe和readme.txt文件,不需要其他的安裝文件。
怎樣去用jad如果要簡單的反編譯一個.class文件的話,用以下命令 jad example1.class這個命 令在當前文件夾下創建了一個 example1.jad 文件如果 jad 文件已經存在的話,會提示你是否要覆蓋這個jad文件 。
-o 允許你直接覆蓋掉以前存在的jad文件 -s 允許你改變輸出文件的擴展類型
如下所示將輸出文件類型變成 *.java
jad -sjava example1.class
這個命令創建了一個example1.java文件
要注意的是連用-o,-s命令,可能會將你自己的源文件也覆蓋掉的
jad 用 class 自己的名字作為一個輸出文件的名字,比如example1.class包含一個test1的類就會創建一個test1.jad文件而不是創建example1.jad文件
-d允許你指定另外一個文件目錄作為輸出文件的目錄,沒有指定的情況下會輸出到缺省路徑下
jad -o -dtest -sjava *.class
或者
jad -o -d test -s java *.class
以下的命令反編譯了所有的*.class文件,并且將輸出文件放置到test文件目錄下
如果你想反編譯tree目錄下的所有*.class文件,用下面的命令
jad -o -r -sjava -dsrc tree/**/*.class
這個命令反編譯了tree目錄下所有.class文件,將輸出文件以.java的形式
放置到src目錄下
注意到**了嗎?在unix可以表示為:
jad -o -r -sjava -dsrc "tree/**/*.class"
如果你想測試一下反編譯的精確度的話,用-a
jad支持所有內部和匿名的類
-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) -pi -在 的導入之后將其他引用包裹成一行導入 (default: 3) -pv -將同類型的成員包裹成一行 (default: no) -pa - 在生成源代碼時將所有的包加前綴 -pc - 用數字名字給所有的類加前綴 (default: _cls) -pf - 用數字名字給所有的成員變量加前綴 (default: _fld) -pe -給沒有用到的異常的名字加前綴 -pl - 給局部變量用數字名字加前綴 (default: _lcl) -pm -給方法用數字名字加前綴 (default: _mth) -pp - 給方法的參數用數字名字加前綴 (default: _prm) -r - 恢復包的目錄結構 -s - 指定輸出文件的類型 (by default ".jad") -space -遇到關鍵字(if/for/while/etc)輸出空格和表達式 (default: off) -stat - 顯示所有的類,方法,成員變量的總數 -t - 用tabs代替空格對于邊緣 -t -用 個的空格 (default: 4) -v - 正在反編譯的時候 顯示方法的名字 -8 - 將 UNICODE strings 轉換成 8-bit strings 用當前的 ANSI 碼頁 (Win32 only) -& - 重新定向 STDERR to STDOUT (Win32 only)
最常用的命令是
jad -o -a -sjava -d目錄名 class文件名.class
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66426.html
摘要:有的朋友抱怨他們在使用他們公司的閉源框架時看不到底層的源代碼。假設我們想在里查看第行的源代碼直接加左鍵進去是看不見源碼的。我們可以使用一個開源的工具通過反編譯來查看其源代碼?,F在選中一個按,即可看到反編譯之后的源代碼。 有的朋友抱怨他們在使用他們公司的閉源框架時看不到底層的源代碼。那么可以嘗試使用一些Java反編譯工具。 下面我舉個例子介紹具體使用這些反編譯工具的步驟。 JAD 假設我...
摘要:提供給了用戶大量的語法糖,比如泛型自動裝箱拆箱循環變長參數內部類枚舉類斷言新特性方法引用等解語法糖語法糖的存在主要是方便開發人員使用。 首先,部分總結文字引用 簡書作者:Eric新之助 。鏈接:https://www.jianshu.com/p/4de08deb6ba4 已獲得授權 showImg(https://segmentfault.com/img/bVbfuX9?w=646&...
摘要:首先,我們來按照泛型的標準重新設計一下類。注意參數為而不是泛型。利用形式的通配符,可以實現泛型的向上轉型,來看例子。需要注意的是,無法從這樣類型的中取出數據。showImg(https://user-gold-cdn.xitu.io/2019/5/17/16ac3bf3eb16160c); 00、故事的起源 二哥,要不我上大學的時候也學習編程吧?有一天,三妹突發奇想地問我。 你確定要做一名...
摘要:是什么摘自的介紹大意為是阿里開源的一個診斷工具,可以幫助開發人員在不修改代碼或重啟服務器的情況下快速定位線上問題。聽起來確實是我們的程序員的一大福利。參考資料使用手冊 1. Arthas是什么? 摘自Arthas的Github介紹: Arthas is a Java Diagnostic tool open sourced by Alibaba. Arthas allows deve...
摘要:是什么鬼是一款阿里巴巴開源的線上診斷工具,功能非常強大,可以解決很多線上不方便解決的問題。診斷使用的是命令行交互模式,支持,操作系統,命令還支持使用鍵對各種信息的自動補全,診斷起來非常利索。顯示當前系統的實時數據面板,按即可退出。 Arthas是什么鬼? Arthas是一款阿里巴巴開源的 Java 線上診斷工具,功能非常強大,可以解決很多線上不方便解決的問題。 Arthas診斷使用的是...
閱讀 1639·2021-10-09 09:44
閱讀 2787·2021-10-08 10:04
閱讀 2468·2021-09-26 09:55
閱讀 3840·2021-09-22 10:02
閱讀 3311·2019-08-29 17:08
閱讀 1069·2019-08-29 15:08
閱讀 2957·2019-08-26 13:52
閱讀 3274·2019-08-26 13:34