Java Decompiler【java 反编译】:开发了反编译工具。能够方便查看*.class 文件源代码。以下介绍几种查看源代码的方式:工具&插件

1、JD-GUI

JD-GUI  是显示java 源码 *.class文件的 图形界面工具。能够在这里下载:JD-GUI-DownLoad

下载下来后。打开该工具。直接将jar包 拖拽到 显示窗体就可以查看源码。

举例:通过 jd-gui.exe 工具 查看 xUtils-2.6.14.jar 包 源代码:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5kcm9pZG9sYmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

可是,一般开发用的是IDE(Integrated Development Environment 集成开发环境) 比方 Eclipse。android studio。IDE一般插件都非常丰富,方便提高开发效率。假设有IDE还是用图形界面工具查看jar包而不用插件的话,这是比較醉的,因为之前不知道用插件,醉了非常久才用!

!没文化真可怕啊!插指算了算:以后要“多探讨。多接触。添加知识的广度。多研究,多细学,添加知识深度!”
。以下概要介绍 Eclipse,android studio 下 安装插件,查看 jar包 *.class 文件。


2、JD-Eclipse

(1)下载 JD-Eclipse  插件。下载后。打开Eclipse。选择:Help-->Install New Software...-->add --archive...  按步骤操作就可以:

安装后,重新启动Eclipse,应该能够查看 *.class文件的代码。

ADD and Archive...

选择要安装的插件:

选中后,一步一步next,之后重新启动Eclipse。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5kcm9pZG9sYmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


效果例如以下:


3、JD-IntelliJ

JD-Intellij 是 IntelliJ IDEA 的插件,安装了这个插件,能够方便查看 jar包源代码。

下载JD-Intellij

以android studio为例: 能够离线安装也能够在线安装。

(1)、离线安装步骤:

a、下载jd-intellij-0.6.zip ;

   b、Android studio  File->Settings..->Plugins -->install plugin from disk..导入下载的插件 

   c、重新启动android studio

(2)、在线安装

Android studio  File->Settings..->Plugins-->Browse repositores..搜索JD-Intellij

重新启动studio后,查看 jar包的class文件 源代码:

參考资料:

1、Java DeCompiler

2、插件下载&说明,里面有非常多插件。欢迎下载试用

3、Eclipse 安装 JD-Eclipse 插件

4、推荐几个实用的工具

有所不足、多多指正!

怎样通过反编译工具与插件 查看java *.class 文件源代码的更多相关文章

  1. java反编译工具eclipse插件jad的使用

    https://www.cnblogs.com/zhikou/p/8098137.html 这边文章主要介绍如何使用Eclipse的插件jad进行反编译,在查看一些jar包里面的class文件时,就可 ...

  2. andriod的apk文件相关的编译反编译工具

    1.smali-1.2.6.jar 用途:.smali文件 转成 classes.dex文件 说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改. 用法举例:命令行:jav ...

  3. XJad反编译工具

    XJad反编译工具 我们写的java文件,编译后就会生成相应的字节码文件,也就是.java文件经过编译以后生成.class文件 现在,假设我们现在存在这样一个问题:就是我们想自己动手验证注释会不会被编 ...

  4. Eclipse反编译工具Jad及插件JadClipse配置

    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...

  5. myeclipse2014如何添加源码反编译工具插件

    Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class Viewer无缝 ...

  6. Eclipse反编译工具Jad及插件JadClipse配置(转)

    Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不 ...

  7. 2: Eclipse反编译工具Jad及插件JadClipse配置

    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...

  8. Java反编译工具Jad及插件JadClipse配置教程

    Jad是一个Java的一个反编译工具,和eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 下面介绍一下配置: 下载JadClipse,http: ...

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

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

随机推荐

  1. ubuntu终端白屏的解决方法

    昨天突发奇想的想为teminal设置一个背景, 这样.... 不过过了一会就高兴不起来了,,,,终端白屏!好吧,现在我页没办法彻底解决, 不过暂时的一个方法是可以把首选项->背景->背景图 ...

  2. Linux如何把以下文件夹修改为root权限?

    inux 修改文件目录所有者例:要将当前目录下名 title 的文件夹及其子文件的所有者改为geust组的su用户,方法如下:#chown -R su.geust title-R 递归式地改变指定目录 ...

  3. Hdu-6253 2017CCPC-Final K.Knightmare 规律

    题面 题意:给你一个无限大的棋盘,一个象棋中的马,问你这个马,飞n步后,可能的位置有多少种? 题解:看到题,就想先打表试试,于是先写个暴力(枚举每个位置,是马就飞周围8个格子,注意不要在同个循环里把格 ...

  4. js设计模式-工厂模式(抽象工厂)

    场景:定义一个抽象类 AbsProducer(生产商),该生产商有两个行为,一个生产,一个出售,其中生产方法为抽象方法,由具体的厂家(工厂)去实现,出售的产品均是电子产品(返回的对象为电子产品对象,即 ...

  5. 2015 多校赛 第一场 1001 (hdu 5288)

    Description OO has got a array A of size n ,defined a function f(l,r) represent the number of i (l&l ...

  6. [] == ![]为什么是true

    我们先来考虑这个问题,console.log([] == false)会打印什么呢? 答案是true.为什么呢? 首先,因为当"=="号两边其中一个是布尔值的话,先把它转换为数字( ...

  7. WRAR下载及注册

    下载过程: 1.打开winrar官网:https://www.win-rar.com 2.点击下载winrar按钮,如上图所示 3.进入下一页面,点击下载按钮即可完成下载过程 注册过程:https:/ ...

  8. okhttp3 ExceptionInInitializerError 异常处理

    okhttp3 在Android4.4上出现下面异常 java.lang.ExceptionInInitializerError at okhttp3.OkHttpClient.newSslSocke ...

  9. ACM___数学___九的余数

    九的余数 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述  现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余 ...

  10. map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

    var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); // roots的值为[1, 2, 3], numbers的值仍为[1, 4, ...