闲暇之余,写了一个Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class Viewer无缝集成,能够很方便的使用本插件查看类库源码,以及采用本插件进行Debug调试。

Eclipse Class Decompiler插件更新站点: http://feeling.sourceforge.net/update
离线安装包下载地址一:http://feeling.sourceforge.net/downloads/org.sf.feeling.decompiler_1.0.3.zip
离线安装包下载地址二:http://www.blogjava.net/Files/cnfree/org.sf.feeling.decompiler_1.0.3.zip本插件仅支持Windows,Linux,Macosx操作系统。

直接使用Eclipse进行更新,支持Eclipse 3.x, 4.x,不依赖任何其他插件,直接勾选更新插件即可。

不少朋友问有没有英文版的,实际上创建一个Eclipse的快捷方式,加上 -nl en_US 参数,所有的插件都会自动显示成英文,包括Eclipse Class Decompiler插件。

下图为Eclipse Class Decompiler的首选项页面,可以选择缺省的反编译器工具,并进行反编译器的基本设置。缺省的反编译工具为JD-Core,JD-Core更为先进一些,支持泛型、Enum、注解等JDK1.5以后才有的新语法。

首选项配置选项:
1.重用缓存代码:只会反编译一次,以后每次打开该类文件,都显示的是缓存的反编译代码。
2.忽略已存在的源代码:若未选中,则查看Class文件是否已绑定了Java源代码,如果已绑定,则显示Java源代码,如果未绑定,则反编译Class文件。若选中此项,则忽略已绑定的Java源代码,显示反编译结果。
3.显示反编译器报告:显示反编译器反编译后生成的数据报告及异常信息。
4.使用Eclipse代码格式化工具:使用Eclipse格式化工具对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗一些时间。
5.使用Eclipse成员排序:使用Eclipse成员排序对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗大量时间。
6.以注释方式输出原始行号信息:如果Class文件包含原始行号信息,则会将行号信息以注释的方式打印到反编译结果中。
7.根据行号对齐源代码以便于调试:若选中该项,插件会采用AST工具分析反编译结果,并根据行号信息调整代码顺序,以便于Debug过程中的单步跟踪调试。
8.设置类反编译查看器作为缺省的类文件编辑器:默认为选中,将忽略Eclipse自带的Class Viewer,每次Eclipse启动后,默认使用本插件提供的类查看器打开Class文件。

插件提供了系统菜单,工具栏,当打开了插件提供的类反编译查看器后,会激活菜单和工具栏选项,可以方便的进行首选项配置,切换反编译工具重新反编译,以及导出反编译结果。

类反编译查看器右键菜单包含了Eclipse自带类查看器右键菜单的全部选项,并增加了一个“导出反编译源代码”菜单项。

打开项目路径下的Class文件,如果设置类反编译查看器为缺省的查看器,直接双击Class文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。

Eclipse Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package
Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。

Debug调试:可以在首选项选中对齐行号进行单步跟踪调试,和普通的包含源代码时的调试操作完全一致,同样的也可以设置断点进行跟踪。

最新文章

  1. C/C++内存泄漏及检测
  2. 【Java】多线程_学习笔记
  3. ios源码-ios游戏源码-ios源码下载
  4. 给自定义cell赋值代码
  5. 利用WPF绘图
  6. native
  7. vim编辑器编程配置
  8. spring aop环绕通知
  9. 【原创】Android开发使用华为手机调试logcat没有应用输出信息
  10. poj2236(并查集)
  11. spoj Balanced Numbers(数位dp)
  12. 阶乘相关<同余与模算术>
  13. Android大作业
  14. docker的windows环境设置
  15. AXI总线介绍
  16. redis 持久化 AOF和 RDB 引起的生产故障
  17. 061 hive中的三种join与数据倾斜
  18. 在Mac OSX下安装Microsoft Calibri字体
  19. Java学习笔记11(this,super)
  20. 如何在Visual Studio 2013中连接中国版的Azure

热门文章

  1. Aqua Data Studio中文乱码
  2. javascript的window.onload()方法和jQuery的$(document).ready()的对比
  3. jQuery对表单、表格的操作及更多应用(中:表格应用)
  4. 【c++】标准模板库STL入门简介与常见用法
  5. CodeForces Round 200 Div2
  6. 编程中i++与++i的区别
  7. 李洪强-C语言2-字符串
  8. MyLinerLayout--推荐
  9. Linux环境下实现哲学家就餐问题
  10. Ctrl+Shift+F12切换最大化编辑器