-d <dir> - 用于指定输出文件的目录
-s <ext> - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。
-8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。
最常用的反编译指令如下所示:
Jad -d c:\test -s .java -8 HelloWorld.class
这将当前目录下的HelloWorld.class反编译为HelloWorld.java并保存在c:\test目录里,其中的提示输出为中文,而不是Unicode代码。
jad -p example1.class > myexm1.java
<wbr></wbr>
选项 –d允许你具体指明另外的输出文件目录,不管这个目录是新建的、默认的或者当前目录。例如:
<wbr></wbr>
jad -o -dtest -sjava *.class
(或者 jad -o -d test -s java *.class, 这个有同样的效果)
<wbr></wbr>
这个命令将在当前目录下反编译所有的.class文件并在'test'文件夹下建立所有扩展名为.java的输出文件。
假如你想反编译整个目录树下的JAVA classes,使用如下命令:
<wbr></wbr>
jad -o -r -sjava -dsrc tree/**/*.class
<wbr></wbr>
这个命令将反编译当前目录树里所有的.class文件并且在当前目录下建立src文件夹后根据包的名字来输出文件。例如,假如有一个文件'tree/a/b/c.class'在包'a.b'下包含了class 'c',那么输出文件的名字为'src/a/b/c.java'。
<wbr></wbr>
在先前的命令上将通配符那里注释掉。则它是用JAD来处理而不是command壳,所以在UNIX上的最后一次参数将会被单独引用。
<wbr></wbr>
jad -o -r -sjava -dsrc 'tree/**/*.class'
<wbr></wbr>
你想检查编译后的文件的正确性或者出于好奇的情况下,这里有一个选项 –a 将会告诉JAD给输出的JAVA虚拟字节码注解。
(二)使用jadeclipse
1、特好用,下载 jadclipse2.06beta
http://sourceforge.net/projects/jadclipse/
按 eclipse的plguin进行安装,将jadclipse目录解压到eclipse/plugin目录下。
任何的jar包中的chass都可以直接点击查看
3、配置 jadclipse:
window>preferences>java>JadClipse中,
设置path to decompiler为jad.exe的全路径,如:d:/jdk/bin/jadjad.exe
在Directory for temporary files中指定临时文件的路径,这个默认就好。
在workbench>file associations中,
将*.class的编辑器,设为JacClipse。