您的位置:首页 > 编程语言 > Java开发

Java反编译工具JAD的用法

2008-01-25 19:44 330 查看
java反编译工具,在日常工作中经常用到。可以搜索引擎搜索一下。
最常用的命令参数如下:


Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov (kpdus@softhome.net).


Usage: jad [option(s)] <filename(s)>


Options: -a - generate JVM instructions as comments (annotate)


-af - output fully qualified names when annotating


-b - generate redundant braces (braces)


-clear - clear all prefixes, including the default ones


-d <dir> - directory for output files


-dead - try to decompile dead parts of code (if there are any)


-dis - disassembler only (disassembler)


-f - generate fully qualified names (fullnames)


-ff - output fields before methods (fieldsfirst)


-i - print default initializers for fields (definits)


-l<num> - split strings into pieces of max <num> chars (splitstr)


-lnc - output original line numbers as comments (lnc)


-lradix<num>- display long integers using the specified radix


-nl - split strings on newline characters (splitstr)


-noconv - don't convert Java identifiers into valid ones (noconv)


-nocast - don't generate auxiliary casts


-noclass - don't convert .class operators


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


-noctor - suppress the empty constructors


-nodos - turn off check for class files written in DOS mode


-nofd - don't disambiguate fields with the same names (nofldis)


-noinner - turn off the support of inner classes


-nolvt - ignore Local Variable Table entries (nolvt)


-nonlb - don't insert a newline before opening brace (nonlb)


-o - overwrite output files without confirmation


-p - send all output to STDOUT (for piping)


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


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


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


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


-pi<num> - pack imports into one line using .* (packimports)


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


-pv<num> - pack fields with the same types into one line (packfields)


-r - restore package directory structure


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


-s <ext> - output file extension (default: .jad)


-safe - generate additional casts to disambiguate methods/fields


-space - output space between keyword (if, while, etc) and expression




-stat - show the total number of processed classes/methods/fields


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


-t - use tabs instead of spaces for indentation


-v - show method names while decompiling


-8 - convert Unicode strings into ANSI strings (ansi)


-& - redirect STDERR to STDOUT




jad -sjava -r -o -dSrc -8 **/*.class

本命令参数说明如下:
-sjava:反向文件后的扩展名为java,默认文件扩展名为jad。
-r:按照类的包恢复目录结构。
-o:如果输出的文件存在,则不提示而直接覆盖。
-8:转换Uncode字符为ANSI字符,指定后,Java代码中的“/u65f6/u95f4”,会转换为“时间”
-dSrc:输出编译后的Java文件到Src目录。
**/*.class:反编译当前目录以及子目录下的所有的class文件。

jad的全部命令参数如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: