Java反编译器安装及各版本介绍
JAVA语言是1995年5月由SUN公司发布的,由于其安全性高、代码优化、跨平台等特性,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。
不过,JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。
为了更好地保护知识产权,避免本公司的智力成果轻易被人窃取,开发者有必要对反编译工具深入了解,以便有针对性地采取保护措施。
注:安装之前请关闭Eclipse。
1. 下载Jad.exe
地址:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip
解压后把jad.exe放在jdk安装目录的bin目录下。比如:G:\Program Files\Java\jdk1.7.0_01\bin

2. 下载jadclipse的安装包
地址:http://nchc.dl.sourceforge.net/project/jadclipse/jadclipse3.3/3.3.0%20%28for%20Eclipse%20_%3D3.3M6%29/net.sf.jadclipse_3.3.0.jar
得到此jar包后,直接将此jar包复制到Eclipse的安装目录下的plugins文件夹中。
例如:G:\Program Files\Java\eclipse\plugins
3. 打开Eclipse,配置JadClipse:选择菜单栏的Window--preferences--左侧文本框出输入jad 回车 搜索定位到JadClipse选项,如下图:

注意配置右侧第一个参数 “Path to decompiler”,即jad.exe所在的绝对路径。注意这里是绝对路径,使用系统变量%JAVA_HOME%\bin\jad.exe 也是不行的哦(事先已经配置%JAVA_HOME%为jdk路径)。
至于第二个参数“Directory for temporary files” ,可以自由配置。顾名思义,这个路径是用来保存编译的临时文件的。
至于在preferences里面通过Java--JadClipse展开的情况,只需要配置JadClipse目录上的以上两个参数,此目录下的其他目录如Debug、Directives、Formatting、Misc上的参数可以不做配置。
如此配置后,现在打开*.class文件,看反编译后的源代码轻而易举。
注意,这样设置后,你双击某些 .class 文件仍不能反编译,这是因为这些class文件没有附加的源码,要想解析所有 class 文件,还需做如下设置:在File Type 下选择 *.class without source,然后在 Associated Editors下单击add,添加JadClipse Class File Viewer,然后选择JadClipse Class File Viewer,并点击右侧的default按钮,将 JadClipse Class File Viewer 设置为 *.class without source 的默认编辑器。
上述方式不行试试下面的方式:
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把通配符搭配到输入的文件名时,它自动的跳过匹配的内部类.
Java反编译器 Java Decompiler
这款反编译器叫 "Java Decompiler", 由 Pavel Kouznetsov开发,目前最新版本为0.2.5. 它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。 其有下面几个功能: 1. 支持对整个Jar文件进行反编译,并本源代码可直接点击进行...
更多Java Decompiler信息最近更新: jd gui 0.3.4发布, java 反编译工具 发布于 1年前
Java反编译工具 jad
jad 是一个使用非常广泛的 Java 反编译工具。更多jad信息
APK反编译工具 Gapktool
强大的APK反编译工具 本软件集成 jd-gui、jad、dex2jar、apktool 请吧Gapktool放到英文路径下 1.运行Gapktool.bat 2.apk文件和输出目录使用英文路径 默认使用jad反编译,如果编译出来的java代码难以阅读,请选择使用jd-gui反编译。 保留smali文件删除gen、...更多Gapktool信息
dex2jar
dex2jar 是一个用来将 Android 的 Dalvik Executable (.dex) format 文件转成 Java 类文件的工具。更多dex2jar信息
Java反编译插件 Jadclipse
Jadclipse 是一个集成Eclipse 的Java反编译插件
更多Jadclipse信息最近更新: Eclipse的反编译插件 JadClipse 3.4.0 发布于 4年前
Java 反编译器 JD-GUI
JD-GUI 是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。而且提供了Eclipse平台下的插件JD-Eclipse
更多JD-GUI信息Java反编译器 jdec
jdec是一个Java反编译器。它能够把出现在一个.class文件中的字节码还原成Java源代码,反编译的结果几乎与原始Java文件相同。它还自带一个利用swing开发的用户操作界面。
更多jdec信息Java Class文件的反编译工具 uuDeJava
uuDeJava是Java Class文件的反编译工具。反编译的Java源程序被输出到Class的相同目录。内部使用jad.exe。 反编译Class文件时,可以直接点击Class文件(关联后),或者选中文件或目录发送到uuDeJava的快捷方式。还可以拖动文件或目录到uuDeJava的主窗口。 通过...
更多uuDeJava信息swf反编译工具 swfparser
swfparser 是一个 Java 编写的简单的用来反编译 swf 的工具,只支持 Flash 8 和 Flash MX 2004,Flash 9 不支持。更多swfparser信息
dex文件反编译工具 Dedexer
Dedexer是目前在网上能找到的唯一一个反编译dex文件的开源工具[ ]。Dedexer下载后需要编译才能使用。如果你用过ant编译java程序,那么编译Dedexer是一件非常简单的工作。更多Dedexer信息
【商业】Java反编译器 DJ Java Decompiler
使用DJ Java Decompiler你可以反编译class文件并且可以保存为文本文件或其它格式,它很容易使用。DJ Java Decompiler是Windows 2000,Windows XP,Windows 2003,Windows Vista,Windows 7环境下的反编译器,它可以从已经编译的二进制class文件重新创建最初...更多DJ Java Decompiler信息
Java 反向工程软件 Minjava
Minjava 是一个 Java 反向工程软件,可帮助理解已存在一些 Java 软件的架构和行为。
更多Minjava信息
更多Java Decompiler信息
更多Jadclipse信息
更多JD-GUI信息
更多jdec信息
更多uuDeJava信息
更多Minjava信息