【转】Eclipse Class Decompiler——Java反编译插件
闲暇之余,写了一个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文件。
插件提供了系统菜单,工具栏,当打开了插件提供的类反编译查看器后,会激活菜单和工具栏选项,可以方便的进行首选项配置,切换反编译工具重新反编译,以及导出反编译结果。
打开项目路径下的Class文件,如果设置类反编译查看器为缺省的查看器,直接双击Class文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。
Eclipse Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package
Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。
最新文章
- C/C++内存泄漏及检测
- 【Java】多线程_学习笔记
- ios源码-ios游戏源码-ios源码下载
- 给自定义cell赋值代码
- 利用WPF绘图
- native
- vim编辑器编程配置
- spring aop环绕通知
- 【原创】Android开发使用华为手机调试logcat没有应用输出信息
- poj2236(并查集)
- spoj Balanced Numbers(数位dp)
- 阶乘相关<;同余与模算术>;
- Android大作业
- docker的windows环境设置
- AXI总线介绍
- redis 持久化 AOF和 RDB 引起的生产故障
- 061 hive中的三种join与数据倾斜
- 在Mac OSX下安装Microsoft Calibri字体
- Java学习笔记11(this,super)
- 如何在Visual Studio 2013中连接中国版的Azure
热门文章
- Aqua Data Studio中文乱码
- javascript的window.onload()方法和jQuery的$(document).ready()的对比
- jQuery对表单、表格的操作及更多应用(中:表格应用)
- 【c++】标准模板库STL入门简介与常见用法
- CodeForces Round 200 Div2
- 编程中i++与++i的区别
- 李洪强-C语言2-字符串
- MyLinerLayout--推荐
- Linux环境下实现哲学家就餐问题
- Ctrl+Shift+F12切换最大化编辑器