很多时候我们可能要查看第三方的程序源码来理清别人的思路。大多数时候jar包仅仅为我们提供了编译好的class字节文件。或者总是下载源码让磁盘越来越不堪重载。或者有些源码和api是付费的,虽然jar包可以免费使用。
能够快速反编译calss文件得到源码,是学习java快速进阶的必要手段。让我们从实现的角度去深入的分析该如何使用第三方程序接口。
eclipse是基于插件方式的开源IDE,也有人提供了基于eclipse的反编译插件IDE,叫“jadclipse”。
jadclipse.sf.net -Jad Java decompiler plugin for Eclipse IDE.官方介绍网址打开是空白页面,不太清楚是因为官方不再维护此项目还是我的网络的问题。还不错,官方还继续提供给下载链接,还可以访问sourceforge选择下载。
插件的安装安装特别简单,你可以将下载到的net.sf.jadclipse_3.3.0.jar放到eclipse\dropins目录下面,当eclipse启动的时候,插件将自动安装。
第二种安装方式为:如果你的eclipse版本高于3.4,那么可以直接将net.sf.jadclipse_3.3.0.jar拷贝到eclipse\dropins目录。同样当eclipse启动时,插件将自动安装。
让我们看看安装完后的界面吧。在eclipse菜单中选择Window -- Preferences -- Java -- JadClipse
*jadclipse是一个基于jad的eclipse插件IDE,他本身不提供class文件的反编译。
接下来到了真正请出反编译的主谋了 -- jad
不幸的事情总是伴随着过于激动的情绪而来。jad的官网连域名都没有了。具有共享精神的互联网总是这么神奇,Tomas Varaneckas为我们提供了镜像下载。声明如下:
As http://www.kpdus.com is no longer accessible, JAD Java Decompiler download is extremely hard to find. Here is a mirror where you can get JAD for various platforms.
I will keep this mirror up even if kpdus.com will get back online, just in case.
so,u can download it from this mirror JAD Java Decompiler Download Mirror
jad提供的windows版本是一个可执行的exe文件,jad.exe,你可以将它放置到任何你愿意的目录。我习惯将它放置到eclipse的根目录。配置反编译IDE环境:如上图所示的jadclipse IDE界面
jadclipse参数设置1、Path to Decompiler:配置jad的绝对路径。如:D:\eclipse\jad.exe
2、Directory for temporsy files:反编译产生的临时文件位置,可以选择修改或者不修改
3、也可以选中Use Eclipse code formatter(overrides Jad formatting instructions),这样可以将反编译后的代码与Ctrl+Shif+F格式化出来的代码样式保持一致
4、中文的支持:选中JadClipse -- Misc,将Convert Unicode strings into ANSI strings选项打钩
5、检查jadclipse是否被设置为默认的class文件查看器。位置在:eclipse菜单--Window--Perference--General--Editors--File Associations--.calss,确认JadClipse Class File Viewer为默认的查看器
6、jadclipse的其他参数,你可以根据英文意思理解并自行设置,它不会影响反编译效果。
或者你可能不喜欢为eclipse安装过多的插件,如何单独使用jad进行反编译呢?
jad 命令反编译jad可以将calss文件反编译成java源文件,反编译的目的是为了学习java,一般的商业软件都是做了代码混淆的,请遵守商业软件的版权声明。
我们可以在CMD中设置临时环境变量。以便jad命令可以应用到class目录。