Fork me on GitHub

Java反编译

 

工具下载:https://varaneckas.com/jad/

以下假设jad.exe在c:\java目录下

一、基本用法
  Usage:jad [option(s)]
  直接输入类文件名,且支持通配符,如下所示。
  c:\java\>jad example1.class
  c:\java\>jad *.class
  结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

二、Option -o
  不提示,覆盖源文件

三、Option -s
  c:\java\>jad -sjava example1.class
  反编译结果以.java为扩展名。

四、Option -p
  将反编译结果输出到屏幕
  c:\java\>jad -p example1.class
  将反编译结果重定向到文件
  c:\java\>jad -p example1.class>example1.java

五、Option -d
  指定反编译的输出文件目录
  c:\java\>jad -o -dtest -sjava *.class

 jad命令的参数含义如下:
       -o:覆盖旧文件,而且不用提示确认。
       -r:重新加载生成包结构。
       -s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
       -d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
       classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。

例如:

D:\mapreduce>jad -o -r -sjava *.class

 

将文件接下到一个目录,然后进入所在目录cmd;

 

 将要编译的.class文件放到这个目录:

jad -o -r -sjava *.class

 

 

posted @ 2019-07-22 23:59  kris12  阅读(1111)  评论(0编辑  收藏  举报
levels of contents