有些项目我们想看看引入的包的源码的时候,因为打包好的.class文件的内容我们是看不懂的,但是又懒得去找源码文件的时候,就会用到反编译工具。


步骤:

1、安装反编译插件。

2、设置使用的反编译工具。

3、设置默认的缺省反编译工具。


1、安装反编译工具

a、在eclipse中的菜单栏上选择help——>Eclipse Marketplace(这里相当于eclipse的"应用市场一样",当然这里面的东西不是软件)。

b、在搜索框中输入Decompiler并且回车,可以找到需要的插件(如下图),箭头指向的地方(由于我已经装过了,所以是Installed,如果没安装过的话,应该相那个Import....1.0.0的插件一样显示Install,然后点击就能安装了)。

c、这几个工具都勾上吧,也没有多大。然后点击Confirm

d、选择接受然后finish

e、装完后会提示让你,重启eclipse。

3、设置默认的缺省反编译工具。

a、在Window——>Preferences——>Java——>Decompiler中设置:

  默认类反编译器(Default Class Decompiler):这里是选择你想使用的反编译器,就是刚才装的那几个插件中之一。

  重用代码缓冲区(Reuse code buffer):只会反编译一次,以后每次打开该类文件,都显示的是缓存的反编译代码这里,默认是勾上的,也建议勾上,要不每次都要重新编译一次,很慢。

  自动搜索并附加库源(Search and attach the library source automatically):

  忽略存在的资源(Ignore existing source):

  显示反编译报告(Show decompiler reporter):显示反编译器反编译后生成的数据报告及异常信息

  使用Eclipse代码格式化工具(Use Eclipse code formatter):使用Eclipse格式化工具对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗一些时间。
  使用Eclipse成员排序(Use Eclipse member sorter):使用Eclipse成员排序对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗大量时间。
  以注释方式输出原始行号信息(Output original line numbers as comments):如果Class文件包含原始行号信息,则会将行号信息以注释的方式打印到反编译结果中。
  根据行号对齐源代码以便于调试(Align code for debugging):若选中该项,插件会采用AST工具分析反编译结果,并根据行号信息调整代码顺序,以便于Debug过程中的单步跟踪调试。
  设置类反编译查看器作为缺省的类文件编辑器(Set Class decompiler Viewer as the default 'Java Class File' content tyle editor):默认为选中,将忽略Eclipse自带的Class Viewer,每次Eclipse启动后,默认使用本插件提供的类查看器打开Class文件。

b、除了那个默认的类反编译工具可以更改你自己喜欢的,其他的就用默认的就好。

c、在window——>Preferences——>General——>Editors——>File Associations中设置:

  将class without source中设置Class Decompiler Viewer设置成默认,然后当每次找不到源代码文件的时候,就会运行反编译插件。


完.....................................


Eclipse设置反编译插件的更多相关文章

  1. eclipse安装反编译插件(附jad下载)

    eclipse安装反编译插件(附jad下载) 博客分类: eclipse   一.eclipse反编译插件Jadclipse jadclips插件网站:    http://jadclipse.sou ...

  2. 为Eclipse添加反编译插件,更好的调试

    为Eclipse添加反编译插件,更好的调试 一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍. 1.下载并安装jad.exe.将ja ...

  3. Java反编译工具JD-GUI以及Eclipse的反编译插件

    什么是反编译 高级语言源程序经过编译变成可执行文件,反编译就是逆过程.但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序. 反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前 ...

  4. Eclipse 安装反编译插件

    前言:在实际的开发中几乎都会使用到一些框架来辅助项目的开发工作,对于一些框架的代码我们总怀有一些好奇之心,想一探究竟,有源码当然更好了,对于有些JAR包中的代码我们就需要利用反编译工具来看一下了,下面 ...

  5. Eclipse 安装反编译插件 Eclipse Class Decompiler

    Eclipse Class Decompiler在线安装方法 https://blog.csdn.net/tangjinquan1157/article/details/77506015 Eclips ...

  6. myeclipse/eclipse安装反编译插件jadclipse

    jad是一个使用比较广泛的Java反编译软件,jadClipse是jad在eclipse下的插件,下面像大家介绍下如何将jadclipse加入到myeclipse/eclipse中. 文件下载 (1) ...

  7. Eclipse配置反编译插件jadclipse

    参考自:https://blog.csdn.net/moneyshi/article/details/79715891 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java ...

  8. Eclipse 安装反编译插件jadclipse

    下载jadClipse地址: 链接: http://pan.baidu.com/s/1kTN4TPd  提取码: 3fvd 将net.sf.jadclipse_3.3.0.jar拷贝到eclipse的 ...

  9. eclipse安装反编译插件

    1. 进入http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download          下载 net.sf.jadclipse ...

随机推荐

  1. hdu1162 Eddy's picture 基础最小生成树

    #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> # ...

  2. 利用uiautomator实现Android移动app启动时间的测试

    为了减少因手工测试的反应误差,这里介绍下如何利用Android自带的自动化测试工具uiautomator实现app启动时间的测试. 测试基本思路如下: 1.启动前记录当前的时间戳 2.启动app,直至 ...

  3. LVS实现负载均衡

    三台主机模拟 sishen_63(分发器): eth0(Bridge):192.168.1.63 eth1(vmnet4):192.168.2.63 sishen_64(RealServer1): e ...

  4. Solr打分排序规则自定义【转】

    在搭建好solrCloud搜索集群后,通过编写基本的查询显示语句已经能够通过输入关键字查询到相应结果进行显示,但是在显示结果排序上以及不相关信息过滤问题上,如何制定合理的打分规则得到理想的结果集确实比 ...

  5. 取URL中各个参数的值

    取参数值的方法有很多,个人记录一个方便好用的 //查询参数(参数名)function GetQueryString(name) {    var reg = new RegExp("(^|& ...

  6. 外文翻译 《How we decide》被情感愚弄 第一节

    本节为第三章的起始. 书的导言 本节阅读感言:情感系统脱离控制的后果是毁灭性的. Ann Klinestiver 在一所高中做英文老师,她被诊断为患帕金森综合症.在课堂上,当她正准备和学生们谈及一些莎 ...

  7. Android手机屏幕投射到电脑神器Vysor

    做android开发的,经常要把手机屏幕投射到电脑,用来演示.普遍的解决方案是360或者豌豆荚的演示功能,缺点是延迟非常厉害,大概有3秒左右,非常影响演示效果.以下介绍Vysor,几乎0延迟,能与手机 ...

  8. android studio 新建文件出错

  9. 初用emmet

    下载emmet的pspad插件emmet.js.复制到pspad目录下的 script\JScript 文件夹. 输入 ul#nav>li.item$*4>{Item $} 但是没反应. ...

  10. QTabelwidget 添加复选框

    QString sceneName = QString("%1(%2)").arg(sisList[i].sceneName).arg(sisList[i].sceneNo); Q ...