Eclipse Class Decompiler——Java反编译插件
Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试。
Eclipse
Class Decompiler对JDK的最低要求为JDK1.5,
能反编译和debug各版本的Class文件,支持JDK8的Lambda语法,同时支持中文等非Ascii码字符集的解析,支持Eclipse
3.5及以上所有版本的Eclipse。
目前本插件下载量已超过16万,日均下载量超过500次,在Eclipse 官方市场 MarketPlace 中排名前10。
为保证反编译插件能支持最新版的Eclipse,本插件不再提供离线下载方式安装,请大家通过Eclipse Marketplace进行安装,在线安装源放置在 github.org 上,不会像sourceforge一样被墙。
插件在 Eclipse Marketplace 上的项目地址:https://marketplace.eclipse.org/content/eclipse-class-decompiler
喜欢本插件的同学可以帮忙点个赞:https://marketplace.eclipse.org/user/login/sso?destination=node/472922/toggle_favorites
安装插件请 拖拽 Install按钮 到Eclipse工具栏或者其他窗口区域(编辑器区域除外)
或采用Eclipse Marketplace 搜索 Decompiler 或者 反编译 进行更新
本插件支持Windows,Linux,Macosx 32位及64位操作系统。
低版本 Eclipse 不包含 Eclipse MarketPlace Client,可以通过以下地址在线更新:
http://cnfree.github.io/Eclipse-Class-Decompiler/update
插件使用说明:
下图为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文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。
同时插件也支持直接将外部的Class文件拖拽到Eclipse编辑器中进行反编译。
Eclipse
Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package
Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。
原创作者:http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html