使用Jad或JadClipse进行反编译

 以前一直用这jad,突然要研究jar包时就不方便了,不过当然是有eclipse插件的jadclipse,好像有for intelliJ IDEA的。

1。下载:

(1)jadclipse插件:
到SourceForge.net(http://sourceforge.net/projects/jadclipse/)下载插件:
下载jadclipse_3.1.0.jar版本,支持eclipse3.1M6以上
下载jadclipse_3.2.0.jar版本,支持eclipse3.2M3和eclipse3.2M4.
下载jadclipse_3.2.2.jar版本,支持eclipse3.2M5以上。

 (2)jad1.5.8e编译程序
       下载地址http://www.kpdus.com/jad.html#download
       下载后解压。解压缩后将jad.exe拷贝到JRE的bin目录下,如/Java/jre1.5.0_06/bin

2。加载插件:
若插件包为:net.sf.jadclipse_3.2.4.jar
(1)直接放入eclipse/plugins/下;(2)插件统一管理:建立如下目录树:IDE/eclipsePlugin/jadclipse/eclipse/plugins,
然后将net.sf.jadclipse_3.2.4.jar放入这个路径的plugins下。
启动eclipse,在Help->About Eclipse SDK->Plug-in Details下就可以看到JadClipse插件信息了。

3。设置:

启动eclipse,打开:Window->Preferences->Java->JadClipse,假如没有找到JadClipse,检查插件安装的版本是否与你安装的eclipse版本

对应。
在这里可以很清楚地进行设置了。
可以在Eclipse的Windows—> Perference—>General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”,一般插件会自动关联。

(1)Path to decompiler,这里设置反编译工具jad的全路径名,比如:%JAVA_HOME%/bin/jad.exe. 
      若你在环境变量中设置了path指向Java安装路径的bin下就不用改了,默认是jad。
(2)Directory for temporary files,这里设置临时文件路径。

    至于Window->Preferences->Java->JadClipse目录下的Debug,Directives,Formatting,Misc目录中的参数设置,默认就够了。

4.一切自动化 ,查看.class在eclipse中双击就OK了。

用上这个后jad那个程序好像就可以放兜里了,不过还是附上它的命令使用说明:

反编译单个JAVA语言的CLASS文件,在命令行输入:jad example.class回车.
让后在你当前目录会生成一个Example.jad的文件!把它的后缀改为java就可以阅读了!(你可以忽略.class后缀)
选项 -s<后缀>允许你更改输出文件的后缀.
        jad -sjava example.class
这条命令生成文件'example.java'.当你同时使用选项-o和-sjava时要小心了,因为Jad会意外的覆盖掉你的源文件.

jad使用JAVA的CLASS文件名作为默认的输出文件名.举个例子,如果CLASS文件'example.class'包含了JAVA的CLASS'test'那么jad会优先生

成'test.jad'.如果你想要指定一自己的输出文件名,请使用重定向:
        jad -p example.class >myexm.java

选项-d允许你指定输出文件到另外一个文件夹,这个文件夹将默认创建在当前目录.举个例子:
        jad -o -dtest -sjava *.class
        (或者jad -o -d test -s java *.class,两者是一样的)
这条命令反编译所有.class文件在当前目录并且放置所有输出文件在目录'test'以.java为后缀名.

如果你想反编译整个java类树,用如下命令:
        jad -o -r -sjava -dsrc tree/**/*.class
这条命令反编译所有.class文件位于'tree'以及子目录并且建立输出文件在'src'目录的相对子目录中依照类的包名.举个例子,如果文

件'tree/a/b/c.class'包含类'c'来自包'a.b',那么数车文件的名字是'src/a/b/c.java'.

万一你想要检查输出文件的精确度或者就是仅仅是好奇,这儿有个选项-a,它让jad使用JAVA虚拟机字节码作为注释添加在输出文件中.

jad支持内部类和匿名类,当jad把通配符搭配到输入的文件名时,它自动的跳过匹配的内部类. 

你可能感兴趣的:(使用Jad或JadClipse进行反编译)