【原创】Eclipse Class Decompiler——Java反编译插件

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

Eclipse Class Decompiler插件更新站点: http://feeling.sourceforge.net/update

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




下图为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调试:可以在首选项选中对齐行号进行单步跟踪调试,和普通的包含源代码时的调试操作完全一致,同样的也可以设置断点进行跟踪。

...全文
63657 214 打赏 收藏 举报
写回复
214 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
无极丶 2015-06-26
  • 打赏
  • 举报
回复
4.4的 用了之后eclipse总是自动关闭 怎么解决。 好想反编译
ycjianghao 2015-05-27
  • 打赏
  • 举报
回复
很好用的插件,楼主真是牛人啊
w2222288 2015-04-29
  • 打赏
  • 举报
回复
不错,刚正在为了这个烦,想不到找到了这篇文章,国内有多点你这样的大牛,那就好了
zyx87713 2015-04-25
  • 打赏
  • 举报
回复
强人哥,安装后没有菜单项那一栏。无法使用,求帮助。泪奔中。QQ:286128290
陈文锦的秘密 2015-04-15
  • 打赏
  • 举报
回复
这个插件非常的棒
ss7788 2015-02-02
  • 打赏
  • 举报
回复
下了离线版的,解压到eclipse目录下,启动后没有加载插件啊,为什么?
Silence-boby 2014-11-19
  • 打赏
  • 举报
回复
我一直用的jad,菜鸟级的人物目前还没有接触太深层次的东西,就是不懂的时候看下逻辑,一般情况都用的少,过来围观学习下,不过貌似这Eclipse是中文版的 现在用中文版的少啊,虽然我英语是个渣,但是勉强还是在用英文的#83
  • 打赏
  • 举报
回复
牛人!
Mr_F6 2014-11-13
  • 打赏
  • 举报
回复
飞起航 2014-11-12
  • 打赏
  • 举报
回复
Mark
me10zyl 2014-11-02
  • 打赏
  • 举报
回复
可不可以提供下源码
k19421 2014-10-30
  • 打赏
  • 举报
回复
为什么反编译出来少了很多代码啊?
尛帥灬 2014-10-26
  • 打赏
  • 举报
回复
我调用我自己写的东西时反编译出来也都是Class 我想让他是java怎么办?
welkin505 2014-10-03
  • 打赏
  • 举报
回复
牛人,必须顶
聪头 2014-08-04
  • 打赏
  • 举报
回复
breakfast_0 2014-08-03
  • 打赏
  • 举报
回复
感谢楼主分享,调试的功能非常有用
tyilack_小小黑 2014-08-03
  • 打赏
  • 举报
回复
为什么网站打不开啊 求解决啊啊啊
张醒言 2014-08-01
  • 打赏
  • 举报
回复
弱弱的问一下:为什么你们都搞定了但是我在线安装完了根本打不开.class文件?
Lsmacha 2014-07-02
  • 打赏
  • 举报
回复
LZ,为什么我在debug的时候eclipse还是提示“Source not found.,Edit Source Lookup Path...”?
中年風雨 2014-06-26
  • 打赏
  • 举报
回复
都是基于jad做的。我还是习惯在命令行下使用jad反编译。
加载更多回复(169)
发帖
Eclipse

5.8w+

社区成员

Java Eclipse
社区管理员
  • Eclipse
加入社区
帖子事件
创建了帖子
2012-10-30 02:06
社区公告
暂无公告