天天看点

【转】一个不错的eclipse反编译插件

闲暇之余,写了一个eclipse下的java反编译插件:eclipse class decompiler,整合了目前最好的2个java反编译工具jad和jd-core,并且和eclipse class viewer无缝集成,能够很方便的使用本插件查看类库源码,以及采用本插件进行debug调试。

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

【转】一个不错的eclipse反编译插件

下图为eclipse class decompiler的首选项页面,可以选择缺省的反编译器工具,并进行反编译器的基本设置。缺省的反编译工具为jd-core,jd-core更为先进一些,支持泛型、enum、注解等jdk1.5以后才有的新语法。

【转】一个不错的eclipse反编译插件

首选项配置选项:

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反编译插件
【转】一个不错的eclipse反编译插件

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

【转】一个不错的eclipse反编译插件

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

【转】一个不错的eclipse反编译插件

eclipse class decompiler插件也提供了反编译整个jar文件或者java包的反编译。该操作支持package explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。

【转】一个不错的eclipse反编译插件

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

【转】一个不错的eclipse反编译插件

继续阅读