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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jad反编译成java,Jad java反编译指令

發布時間:2024/8/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jad反编译成java,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.

請在JAD主頁閱讀此免責聲明;

1. Installation.

安裝.

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

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

This will create two files:

創建兩個文件夾:

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

or 'jad' (*n*x)

- this README file

No other setup is required.

不需要其他的設置

2. How to use Jad

怎么樣使用JAD

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

type the following:

下面介紹反編譯一個簡單的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.

這個指令在當前文件夾下創建'example1.jad'的文件

如果這樣的文件已經存在,JAD會詢問是否對此文件進行重寫。

選項-o 允許重寫不需要進行確認。

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

input files.

對于輸入文件名你可以省略 .class擴展或者利用通配符

Option -s allows to change output file extension:

選項 -s允許改變輸出文件擴展:

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.

這個指令創建'example1.java'文件。特別注意當你同時使用-o和-s選項時,因為JAD會偶然重寫你的資源文件。

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會創建文件名字為'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:

選項-d允許你為輸出文件指定另外一個文件夾,此文件夾默認在當前文件夾下創建。

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'.

這個指令反編譯所有的class字節碼文件并且把所有輸出文件名添加.java擴展名然后放置在當前文件夾下的test文件夾下。

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

use the following command:

如果你想反編譯整個樹型class字節碼文件,請利用下面的指令:

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'.

這個指令反編譯src所有樹型子文件夾下所有class文件并且根據字節碼文件的路徑命名輸出文件名字。 例如'src/a/b/c.class'包含字節碼文件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:

請前一條指令中的注意兩個星('**')的通配符,它被JAD處理,并不是指令腳本,所以在UNIX系統中后一個參數應該是使用單引號的

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.

萬一你想要檢查反編譯的準確性或者僅僅是出于好奇,-a選項可以使Jad注釋JAVA虛擬機輸出的字節碼。

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支持內部類和匿名類。當Jad輸入文件名字中擴展通配符,它會自動的跳過匹配內部類。在UNIX 如果在指令中超過一個指定的類Jad 會跳過內部類。

3. List of the command-line options.

列舉命令行指令

Jad accepts the following options:

Jad接受以下操作指令

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

注釋虛擬機輸出的字節碼(默認:關閉)

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

和-a指令一致,注釋時輸出完全限定名稱

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

清楚所有的前綴 包括默認的(可以被簡寫成 -cl)

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

輸出多余的括號

-d

創建輸出文件夾(需要的時候被創建)

-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? - split strings into pieces of maximum chars (default: off)

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

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

注釋輸出帶有行號

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

使用指定基數顯示長整數

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

換行符分割字符串

-nocast? - don't generate auxiliary casts

不生成輔助代碼

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

不產生方法的源代碼

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

不轉化java標識符

-noctor? - suppress the empty constructors

禁止空參構造

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

不檢查DOS模式下的字節碼文件

-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)

大括號之前不輸出換行符

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

重寫輸出文件不需要確認

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

-pi - pack imports into one line after imports (default: 3)

-pv - pack fields with identical types into one line (default: off)

-pa - prefix for all packages in generated source files

-pc - prefix for classes with numerical names (default: _cls)

-pf - prefix for fields with numerical names (default: _fld)

-pe - prefix for unused exception names (default: _ex)

-pl - prefix for locals with numerical names (default: _lcl)

-pm - prefix for methods with numerical names (default: _mth)

-pp - prefix for method parms with numerical names (default: _prm)

-r? ? ? - restore package directory structrure

保存文件夾結構

-radix - display integers using the specified radix (8, 10 or 16)

使用指定的進制顯示整數

-s - output file extension (by default '.jad')

輸出文件名擴展

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

產生額外的轉換消除方法和字段的分歧

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

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

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

顯示處理的總數 類/方法/字段

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

利用tab代替空格鍵縮進

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

利用空格鍵縮進

-v? ? ? - display method names being decompiled

顯示已經反編譯的方法名字

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

using the current ANSI code page (Win32 only)

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

重定向標準對象輸出

All single-word options have three formats:

所有的單字符選項的3種格式:

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

選項值得反置

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

設置參數“true”or"on"

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

設置參數“false”or "off"

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

JAD_OPTIONS.

你可以在JAD_OPTIONS環境中指定默認值選項

For example:

例如:

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

總結

以上是生活随笔為你收集整理的jad反编译成java,Jad java反编译指令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。