如果java类被打成jar包,有什么工具可以将其还原为java文件吗?请高手指点!!谢谢!

解决方案 »

  1.   

    CMD进入jar所在目录
    jar xvf *.jar
      

  2.   

    Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov ([email protected]).Jad home page: http://www.kpdus.com/jad.html反编译出所有的命令如下:jad -o -r -sjava **/*.classUsage:    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
      

  3.   

    winRAR不是能直接解压么?然后用javap不就行了?是这意思吧...
      

  4.   

    谢谢!我也找到一个DJ COMPLIER!