日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jad反编译成java_反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]...

發(fā)布時(shí)間:2024/8/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jad反编译成java_反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是jad的readme文件jad?-sjava?example1.class

jad的主頁是:http://www.geocities.com/SiliconValley/Bridge/8617/jad.html

Copyright?2000?Pavel?Kouznetsov?(kpdus@yahoo.com).

1.????請(qǐng)先讀jad主頁的否認(rèn)聲明文件

2.????安裝

解壓縮jad.zip包,并把它放在你硬盤的某個(gè)目錄下。將會(huì)創(chuàng)建兩個(gè)文件????jad.exe和readme.txt文件,不需要其他的安裝文件

3.????怎樣去用jad

如果要簡單的反編譯一個(gè).class文件的話,用以下命令?jad?example1.class這個(gè)命?令在當(dāng)前文件夾下創(chuàng)建了一個(gè)example1.jad文件如果jad文件已經(jīng)存在的話,會(huì)提示你是否要覆蓋這個(gè)jad文件

-o?允許你直接覆蓋掉以前存在的jad文件

-s?允許你改變輸出文件的擴(kuò)展類型,如下所示將輸出文件類型變成?*.java

jad?-sjava?example1.class

這個(gè)命令創(chuàng)建了一個(gè)example1.java文件

要注意的是連用-o,-s命令,可能會(huì)將你自己的源文件也覆蓋掉的

jad用class自己的名字作為一個(gè)輸出文件的名字,比如如果'example1.class'包含一個(gè)test1的類就會(huì)創(chuàng)建一個(gè)test1.jad文件而不是創(chuàng)建example1.jad文件

如果你想指定輸出文件的名字的話,用以下的轉(zhuǎn)移命令

jad?-p?example1.class?>?myexm1.java

-d允許你指定另外一個(gè)文件目錄作為輸出文件的目錄,沒有指定的情況下會(huì)輸出到缺省路徑下

jad?-o?-dtest?-sjava?*.class

或者?jad?-o?-d?test?-s?java?*.class

以下的命令反編譯了所有的*.class文件,并且將輸出文件放置到test文件目錄下

如果你想反編譯tree目錄下的所有*.class文件,用下面的命令

jad?-o?-r?-sjava?-dsrc?tree/**/*.class

這個(gè)命令反編譯了tree目錄下所有*.class文件,將輸出文件以*.java的形式

放置到src目錄下

注意到**了嗎?在unix可以表示為:

jad?-o?-r?-sjava?-dsrc?'tree/**/*.class'

如果你想測(cè)試一下反編譯的精確度的話,用-a

jad支持所有內(nèi)部和匿名的類

4.????命令行選擇的列表

-a???????-?用JVM字節(jié)格式來注解輸出

-af??????-?同?-a,但是注解的時(shí)候用全名稱

-clear???-?清除所有的前綴

-b???????-?輸出多于的括號(hào)?(e.g.,?if(a)?{?b();?},?default:?no)

-d?

-dead????-試圖反編譯代碼的dead?部分(default:?no)

-disass??-?不用用字節(jié)碼的方式反編譯?(no?JAVA?source?generated)

-f???????-?輸出整個(gè)的名字,無論是類還是方法

-ff??????-輸出類的成員在方法之前?(default:?after?methods)

-i???????-?輸出所有的變量的缺省的最初值

-l??-?將strings分割成指定數(shù)目的塊的字符?(default:?no)

-lnc?????-?將輸出文件用行號(hào)來注解?(default:?no)

-nl??????-?分割strings用新行字符?newline?character?(default:?no)

-nodos???-不要去檢查class文件是否以dos方式寫?(CR?before?NL,?default:?check)

-nocast??-?不要生成輔助文件

-nocode??-不要生成方法的源代碼

-noconv??-?不要轉(zhuǎn)換java的定義符?(default:?do)

-noctor??-?不允許空的構(gòu)造器存在

-noinner??關(guān)掉對(duì)內(nèi)部類的支持?(default:?turn?on)

-nolvt???-?忽略局部變量的表信息

-nonlb???-?不要輸出一個(gè)新行在打開一個(gè)括號(hào)之前?(default:?do)

-o???????-?無需確認(rèn)直接覆蓋輸出?(default:?no)

-p???????-?發(fā)送反編譯代碼到標(biāo)準(zhǔn)輸出?STDOUT?(e.g.,?for?piping)

-pi?-在?的導(dǎo)入之后將其他引用包裹成一行導(dǎo)入?(default:?3)

-pv?-將同類型的成員包裹成一行?(default:?no)

-pa?-?在生成源代碼時(shí)將所有的包加前綴

-pc?-?用數(shù)字名字給所有的類加前綴?(default:?_cls)

-pf?-?用數(shù)字名字給所有的成員變量加前綴?(default:?_fld)

-pe?-給沒有用到的異常的名字加前綴

-pl?-?給局部變量用數(shù)字名字加前綴?(default:?_lcl)

-pm?-給方法用數(shù)字名字加前綴?(default:?_mth)

-pp?-?給方法的參數(shù)用數(shù)字名字加前綴?(default:?_prm)

-r???????-?恢復(fù)包的目錄結(jié)構(gòu)

-s??-?指定輸出文件的類型?(by?default?'.jad')

-space???-遇到關(guān)鍵字(if/for/while/etc)輸出空格和表達(dá)式?(default:?off)

-stat????-?顯示所有的類,方法,成員變量的總數(shù)

-t???????-?用tabs代替空格對(duì)于邊緣

-t??-用?個(gè)的空格?(default:?4)

-v???????-?正在反編譯的時(shí)候?顯示方法的名字

-8???????-?將?UNICODE?strings?轉(zhuǎn)換成?8-bit?strings

用當(dāng)前的?ANSI?碼頁?(Win32?only)

-&???????-?重新定向?STDERR?to?STDOUT?(Win32?only)

附件:jadnt157.zip(181K)

總結(jié)

以上是生活随笔為你收集整理的jad反编译成java_反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。