Jad java反編譯指令

This is README file for Jad - the fast Java Decompiler.

Jad home page: http://www.kpdus.com/jad.html

Copyright 2001 Pavel Kouznetsov (jad@kpdus.com).

0. Please read the disclaimer on the Jad home page.

? 請(qǐng)?jiān)贘AD主頁閱讀此免責(zé)聲明;

1. Installation.

? 安裝.

Unzip jad.zip file into any appropriate directory on your hard drive.

? 解壓縮jad.zip到任意合適硬盤文件夾下崎逃。

This will create two files:

? ? 創(chuàng)建兩個(gè)文件夾:

? ? - an executable file named 'jad.exe' (Windows *)? 可執(zhí)行文件

? ? ? or 'jad' (*n*x)

? ? - this README file? ? ?

No other setup is required.?

不需要其他的設(shè)置

2. How to use Jad?

? 怎么樣使用JAD

To decompile a single JAVA class file 'example1.class'?

type the following:

下面介紹反編譯一個(gè)簡(jiǎn)單的class文件

? ? jad example1.class

This command creates file 'example1.jad' in the current directory.

If such file already exists Jad asks whether you want to overwrite it or not.

Option -o permits overwriting without a confirmation.

這個(gè)指令在當(dāng)前文件夾下創(chuàng)建'example1.jad'的文件

如果這樣的文件已經(jīng)存在,JAD會(huì)詢問是否對(duì)此文件進(jìn)行重寫今魔。

選項(xiàng)-o 允許重寫不需要進(jìn)行確認(rèn)错森。

You can omit .class extension and/or use wildcards in the names of

input files.

對(duì)于輸入文件名你可以省略 .class擴(kuò)展或者利用通配符

Option -s <ext> allows to change output file extension:

? 選項(xiàng) -s允許改變輸出文件擴(kuò)展:

? ? jad -sjava example1.class

This command creates file 'example1.java'. Be careful when using

options -o and -sjava together, because Jad can accidentally overwrite

your own source files.

這個(gè)指令創(chuàng)建'example1.java'文件篮洁。特別注意當(dāng)你同時(shí)使用-o和-s選項(xiàng)時(shí),因?yàn)镴AD會(huì)偶然重寫你的資源文件蜗侈。

Jad uses JAVA class name as an output file name. For example, if class

file 'example1.class' contains JAVA class 'test1' then Jad will create

file 'test1.jad' rather than 'example1.jad'. If you want to specify

your own output file name use the output redirection:

JAD利用JAVA類的名字作為輸出文件的名字踏幻。例如戳杀,如果'example1.class'文件中包含JAVA類'test1',Jad會(huì)創(chuàng)建文件名字為'test1.jad'而不是'example1.jad'隔缀。如果你想要指定具體輸出文件名字可以使用輸出重定向指令:

? jad -p example1.class > myexm1.java

Option -d allows you to specify another directory for output files,

which are created, by default, in the current directory. For example:

選項(xiàng)-d允許你為輸出文件指定另外一個(gè)文件夾猾瘸,此文件夾默認(rèn)在當(dāng)前文件夾下創(chuàng)建丢习。

? jad -o -dtest -sjava *.class

? (or jad -o -d test -s java *.class, which has the same effect)

? ? 此指令和上一指令有同樣的作用咐低。

This command decompiles all .class files in the current directory?

and places all output files with extension .java into directory 'test'.

這個(gè)指令反編譯所有的class字節(jié)碼文件并且把所有輸出文件名添加.java擴(kuò)展名然后放置在當(dāng)前文件夾下的test文件夾下。

If you want to decompile the whole tree of JAVA classes,

use the following command:

如果你想反編譯整個(gè)樹型class字節(jié)碼文件绰更,請(qǐng)利用下面的指令:

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

This command decompiles all .class files located in all?

subdirectories of 'tree' and creates output files in subdirectories

of 'src' according to package names of classes. For example, if file?

'src/a/b/c.class' contains class 'c' from package 'a.b', then

output file will have a name 'src/a/b/c.java'.

這個(gè)指令反編譯src所有樹型子文件夾下所有class文件并且根據(jù)字節(jié)碼文件的路徑命名輸出文件名字儡湾。 例如'src/a/b/c.class'包含字節(jié)碼文件c徐钠,輸出文件c.java就在'src/a/b/c.java'

Note the use of the "two stars" wildcard ('**') in the previous?

command. It is handled by Jad rather than the command shell, so on

UNIX the last argument should be single-quoted:

請(qǐng)前一條指令中的注意兩個(gè)星('**')的通配符役首,它被JAD處理衡奥,并不是指令腳本,所以在UNIX系統(tǒng)中后一個(gè)參數(shù)應(yīng)該是使用單引號(hào)的

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

In a case you want to check the accuracy of the decompilation or just

curious, there is an option -a which tells Jad to annotate the output

with JAVA Virtual Machine bytecodes.

? 萬一你想要檢查反編譯的準(zhǔn)確性或者僅僅是出于好奇失息,-a選項(xiàng)可以使Jad注釋JAVA虛擬機(jī)輸出的字節(jié)碼。

Jad supports the inner and anonymous classes.

When Jad expands wildcards in the input file names,

it automatically skips matching inner classes.

On UNIX Jad skips inner classes if there is more than

one class specified in the command line.

Jad looks for inner classes in the directory of their top-level

container class.

? Jad支持內(nèi)部類和匿名類邻梆。當(dāng)Jad輸入文件名字中擴(kuò)展通配符浦妄,它會(huì)自動(dòng)的跳過匹配內(nèi)部類见芹。在UNIX 如果在指令中超過一個(gè)指定的類Jad 會(huì)跳過內(nèi)部類。

3. List of the command-line options.

? 列舉命令行指令

Jad accepts the following options:?

? ? Jad接受以下操作指令

? -a? ? ? - annotate the output with JVM bytecodes (default: off)

? ? ? ? ? ? ? 注釋虛擬機(jī)輸出的字節(jié)碼(默認(rèn):關(guān)閉)

? -af? ? ? - same as -a, but output fully qualified names when annotating

? ? ? ? ? ? ? 和-a指令一致,注釋時(shí)輸出完全限定名稱

? -clear? - clear all prefixes, including the default ones (can be abbreviated as -cl)

? ? ? ? ? ? ? 清楚所有的前綴 包括默認(rèn)的(可以被簡(jiǎn)寫成 -cl)

? -b? ? ? - output redundant braces (e.g., if(a) { b(); }, default: off)

? ? ? ? ? ? ? 輸出多余的括號(hào)

? -d <dir> - directory for output files (will be created when necessary)

? ? ? ? ? ? ? ? 創(chuàng)建輸出文件夾(需要的時(shí)候被創(chuàng)建)

? -dead? ? - try to decompile dead parts of code (if any) (default: off)

? ? ? ? ? ? ? 嘗試反編譯死亡的部分代碼

? -disass? - disassemble method bytecodes (no JAVA source generated)

? ? ? ? ? ? ?

? -f? ? ? - output fully qualified names for classes/fields/methods (default: off)

? ? ? ? ? ? ? 輸出類 屬性 方法 的完全限定名

? -ff? ? ? - output class fields before methods (default: after methods)

? ? ? ? ? ? ? 在屬性之前輸出方法

? -i? ? ? - output default initializers for all non-final fields

? ? ? ? ? ? ? 輸出所有非final字段

? -l<num>? - split strings into pieces of maximum <num> chars (default: off)

? ? ? ? ? ? ? 將字符串分割成最大的字符

? -lnc? ? - annotate the output with line numbers (default: off)

? ? ? ? ? ? ? ? 注釋輸出帶有行號(hào)

? -lradix<num> - display long integers using the specified radix (8, 10 or 16)

? ? ? ? ? ? ? ? ? ? 使用指定基數(shù)顯示長(zhǎng)整數(shù)

? -nl? ? ? - split strings on newline character (default: off)

? ? ? ? ? ? ? ? 換行符分割字符串

? -nocast? - don't generate auxiliary casts

? ? ? ? ? ? ? ? 不生成輔助代碼

? ? ? ? ? ? ?

? -nocode? - don't generate the source code for methods

? ? ? ? ? ? ? ? 不產(chǎn)生方法的源代碼

? -noconv? - don't convert Java identifiers (default: convert)

? ? ? ? ? ? ? ? 不轉(zhuǎn)化java標(biāo)識(shí)符

? -noctor? - suppress the empty constructors

? ? ? ? ? ? ? ? 禁止空參構(gòu)造

? -nodos? - do not check for class files written in DOS mode (CR before NL, default: check)

? ? ? ? ? ? ? ? 不檢查DOS模式下的字節(jié)碼文件

? -nofd? ? - don't disambiguate fields with the same names by adding signatures to their names (default: do)

? -noinner - turn off the support of inner classes (default: on)

? -nolvt? - ignore Local Variable Table information

? ? ? ? ? ? ? ? 忽略本地變量表格信息

? -nonlb? - don't output a newline before opening brace (default: do)

? ? ? ? ? ? ? ? 大括號(hào)之前不輸出換行符

? -o? ? ? - overwrite output files without confirmation (default: off)

? ? ? ? ? ? ? 重寫輸出文件不需要確認(rèn)

? -p? ? ? - send decompiled code to STDOUT (e.g., for piping)

? -pi<num> - pack imports into one line after <num> imports (default: 3)

? -pv<num> - pack fields with identical types into one line (default: off)

? -pa <pfx>- prefix for all packages in generated source files

? -pc <pfx>- prefix for classes with numerical names (default: _cls)

? -pf <pfx>- prefix for fields with numerical names (default: _fld)

? -pe <pfx>- prefix for unused exception names (default: _ex)

? -pl <pfx>- prefix for locals with numerical names (default: _lcl)

? -pm <pfx>- prefix for methods with numerical names (default: _mth)

? -pp <pfx>- prefix for method parms with numerical names (default: _prm)

? -r? ? ? - restore package directory structrure

? ? ? ? ? ? ? ? 保存文件夾結(jié)構(gòu)

? -radix<num> - display integers using the specified radix (8, 10 or 16)

? ? ? ? ? ? ? ? ? 使用指定的進(jìn)制顯示整數(shù)

? -s <ext> - output file extension (by default '.jad')

? ? ? ? ? ? ? 輸出文件名擴(kuò)展

? -safe? ? - generate additional casts to disambiguate methods/fields (default: off)

? ? ? ? ? ? ? 產(chǎn)生額外的轉(zhuǎn)換消除方法和字段的分歧

? -space? - output space between keyword (if/for/while/etc) and expression (default: off)

? ? ? ? ? ? ? ? 在關(guān)鍵字(if/for/while/etc)后輸出空格鍵

? -stat? ? - display the total number of processed classes/methods/fields

? ? ? ? ? ? ? 顯示處理的總數(shù) 類/方法/字段

? -t? ? ? - use tabs instead of spaces for indentation

? ? ? ? ? ? ? 利用tab代替空格鍵縮進(jìn)

? -t<num>? - use <num> spaces for indentation (default: 4)

? ? ? ? ? ? ? ? 利用空格鍵縮進(jìn)

? -v? ? ? - display method names being decompiled

? ? ? ? ? ? ? 顯示已經(jīng)反編譯的方法名字

? -8? ? ? - convert UNICODE strings into 8-bit strings

? ? ? ? ? ? ? using the current ANSI code page (Win32 only)

? -&? ? ? - redirect STDERR to STDOUT (Win32 only)

? ? ? ? ? ? ? 重定向標(biāo)準(zhǔn)對(duì)象輸出

All single-word options have three formats:

? 所有的單字符選項(xiàng)的3種格式:

? -o? ? - 'reverses' value of an option

? ? ? ? ? 選項(xiàng)值得反置

? -o+? - set value to 'true' or 'on'

? ? ? ? ? 設(shè)置參數(shù)“true”or"on"

? -o-? - set value to 'false' or 'off'

? ? ? ? ? 設(shè)置參數(shù)“false”or "off"

You can specify the options you want to be set by default in the environment variable

JAD_OPTIONS.

你可以在JAD_OPTIONS環(huán)境中指定默認(rèn)值選項(xiàng)

For example:

例如:

JAD_OPTIONS=-ff+ -nonlb+ -t+ -space+

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市混埠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钳宪,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搔体,死亡現(xiàn)場(chǎng)離奇詭異疚俱,居然都是意外死亡缩多,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門梁钾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逊抡,“玉大人,你說我怎么就攤上這事麦射。” “怎么了蛔琅?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵峻呛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我寨躁,道長(zhǎng)职恳,這世上最難降的妖魔是什么方面? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮操禀,結(jié)果婚禮上横腿,老公的妹妹穿的比我還像新娘。我一直安慰自己邢锯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布丹擎。 她就那樣靜靜地躺著蒂培,像睡著了一般护戳。 火紅的嫁衣襯著肌膚如雪垂睬。 梳的紋絲不亂的頭發(fā)上抗悍,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天缴渊,我揣著相機(jī)與錄音鱼炒,去河邊找鬼。 笑死昔瞧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凝化。 我是一名探鬼主播搓劫,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绢涡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雄可,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤数苫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后箱残,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體止吁,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敬惦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宏怔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奏路。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸽粉,死狀恐怖妨猩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情威兜,我是刑警寧澤椒舵,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布约谈,位于F島的核電站,受9級(jí)特大地震影響泼橘,放射性物質(zhì)發(fā)生泄漏迈勋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一重归、第九天 我趴在偏房一處隱蔽的房頂上張望厦凤。 院中可真熱鬧,春花似錦椎木、人聲如沸拓哺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽烤礁。三九已至,卻和暖如春脚仔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背们颜。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工窥突, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留硫嘶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓称近,卻偏偏與公主長(zhǎng)得像哮塞,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衡未,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 斷斷續(xù)續(xù)邻眷,拖拖拉拉花了三個(gè)禮拜讀完了賈平凹先生的《秦腔》剔交,這還得感謝中間坐火車那稍顯寂寞的旅途的幫忙。拖沓...
    高祥閱讀 420評(píng)論 0 1
  • 也是在整合redis的時(shí)候偶然間發(fā)現(xiàn)spring-cache的驯镊。這也是一個(gè)不錯(cuò)的框架板惑,與spring的事務(wù)使用類似...
    阿臥閱讀 1,190評(píng)論 0 11
  • 今天開始學(xué)習(xí)拼音的拼讀了冯乘,孩子在大班的時(shí)候接觸了一些裆馒,回來就給我讀,前幾天聲調(diào)總是分不清喷好,今天聽著比前幾天強(qiáng)多了,...
    漂洋過海的魚_9a7f閱讀 183評(píng)論 0 1