Java开发过程中,不免会遇到使用第三方jar的情况。那么我们先来简单的说一下jar文件。

JAR文件,全称为Java Archive File,就是Java档案文件。在开发过程中,许多专业的开发人员或团队会将自己写好的类中,抽离出一些比较有普遍使用意义的类,并通过jar命令将其打包在一个文件中,以方便给其他开发人员使用,这便是     JAR文件。

JAR文件以.jar作为文件后缀名。文件下主要包含两部分内容,一个是供开发使用的.class文件,一个是记载这个包中各个类的信息的META-INF或者MANIFEST.MF文件夹

当你试图是点开某些包下的.class文件时,却发现无法显示文件内容:

根据错误内容提示,我们可以发现导致该情况的原因是因为找不到源文件(Source not found)。通过对jar包的内容分析可以发现,里面的都是.class文件,这些文件是经过编译的,所以无法直接看到源代码。

那么,如何解决呢?既然是缺少源代码,那么我们就去下载相应的源代码,然后通过这里的Attach Source按键将下载后的源代码关联进来即可。

但是这么做,效率却不高,因为当你使用的很多第三方jar包时,你就要一个一个的将源码下载过来才能看到,而且有些源码在网上也很难下载到。

这时,我们可以借助工具来完成。今天主要介绍jadclipse这款Java反编译工具。用于反编译.class文件,从而看到源码。

jadclipse是目前一款比较主流的Java反编译工具,能反编译大部分.class文件。

具体怎么做呢?在上一篇eclipse的详解中,我们讲到eclipse可以通过其内部的PDE来拓展功能的,对此不理解的兄弟可以回去看一下我的那篇文章。

https://blog.csdn.net/srj1095530512/article/details/81564273

好了,现在开始整个操作流程(以win10环境为例)。

1.首先我们要下载一个.exe的jad主程序和一个jar包,这个主程序是用于反编译时的入口,这个包将用于eclipse的插件关联。

官网下载地址如下:http://jadclipse.sourceforge.net/wiki/index.php/Main_Page

主程序可通过点击下图中的Get Jad来下载

然后下载一个相对应的即可

懒的兄弟就直接从下面这个链接下载吧,已经把所有东西都包含在里面了:
链接:https://pan.baidu.com/s/1EPxzoDt0MMfStm8qo3WA8A 密码:6moo

下载完成后,我们得到两个文件,一个是net.sf.jadclipse_3.3.0.jar文件,一个是压缩包,压缩包解压得到一个jad.exe主程序文件和一个readme.txt.(记住这些文件存放的位置,后面会用到)

我们需要的就是那个.jar和jad.exe两个。

2.将下载得到的.jar文件加入到eclipse安装目录下的plugins目录下方,这是为了让eclipse在启动的时候,能在插件系统中关联到jad。然后删除eclipse的configuration目录下org.eclipse.update 文件夹(这个主要用于eclipse更新之用,每次eclipse在使用之后都会在这个目录下生成一些使用信息),然后重启eclipse。

3.重启后,依次点击eclipse中的window-->Java,发现多了一个jadClipse的选项(如果没有的话,重新执行上面的步骤),然后配置两个路径,第一个是jad.exe的存放路径,第二个是jad反编译过程中,产生的临时文件的存放路径

4.完成上两步后,仍需将eclipse中.class文件的默认编辑器进行修改,让.class文件用jad的编辑器来打开。依次点击eclipse中的

windows-->General-->Editors-->File Association,然后将.class和.class without source两个的默认编辑器设置为jad的编辑器。(如果在Associated editors下面没有找到jadclipse的编辑器,可先通过右边的Add按键添加进来!)

最后,重新点击第三方jar包中的.class文件,就可以看到反编译出来的源代码了!!!

从最上面的那行注释可以看出,这是经由jadclipse反编译得到的!!!

虽然jadclipse能反编译大部分.class文件,但是有些仍然无法反编译。这是因为jar包的生成者在其中加入了许多反编译技术。

JAR包与JAD反编译相关推荐

  1. [转]一款可以反编译jar包的java反编译工具-JD-GUI(绿色软件)

    [转]一款可以反编译jar包的java反编译工具-JD-GUI(绿色软件) 文章分类:Java编程 该软件无需安装,界面清爽. 转自:http://www.devdoc.org/index.php/a ...

  2. 如何修改可运行Jar包,如何反编译Jar包

    将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All  ...

  3. java如何转成jar包,修改及反编译可运行Jar包实现过程详解

    将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All S ...

  4. eclipse中集成jad反编译

    [size=large]转载地址:[url]http://www.blogjava.net/sy1214520/archive/2009/04/29/209371.html[/url] 很早就听说过e ...

  5. Jar包加密,防止反编译

    Jar包加密,防止反编译方法 XJar加密工具 XJar功能特性 使用方法(手动执行方式) 使用方法(Maven插件方式) exe4j加密工具 使用方法 jvmti加密工具 使用方法 参考 XJar加 ...

  6. 详解Eclipse集成Jad反编译工具

    一.什么是反编译? 高级语言源程序经过编译变成可执行文件,反编译就是逆过程,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程,NET.Java这样的运行在虚拟机上的编程语言, ...

  7. jad环境变量配置_Java Jad 反编译

    下载运行文件 解压目录 添加环境变量,dos命令反编译class文件 这是JAD-快速Java反编译程序的自述文件. JAD主页:http://www.kpdus.com/jad.html 版权所有2 ...

  8. 万字长文-通过Fiddler抓包和jd-gui反编译白嫖某“绅士”APP内的正能量资源(二)

    系列文章目录 万字长文-通过Fiddler抓包和jd-gui反编译白嫖某"绅士"APP内的正能量资源 文章目录 系列文章目录 前言 继续深入 上活 分析源码 总结 前言 本系列文章 ...

  9. JD-JUI 和Jad反编译 最新版1.6.6下载

    JD-JUI 最新1.6.6和Jad反编译工具 链接:https://pan.baidu.com/s/15qvNOEcebBFITeZP7HPulA 提取码:a9g3

最新文章

  1. Spring Cloud第十二篇:断路器监控(Hystrix Dashboard)
  2. python数据分析numpy_利用python进行数据分析-NumPy高级应用
  3. 北卡教堂山计算机科学专业,UNC的CS「北卡罗来纳大学教堂山分校计算机科学系」...
  4. markdown 公式_【建议收藏】数学公式如何用Markdown优雅地写出来
  5. 老板和主管不懂SEO,乱给SEO人员下指令怎么办?
  6. 小苏打到底能不能碱化尿液
  7. WPF 透明窗口在桌面上放虫子。。。
  8. java实现自动任务_Java实现定时任务的三种方法
  9. JavaScript浏览器对象Window对象常用方法(3)
  10. tf-openpose人体姿态估计标签生成--heatmap--vectormap
  11. Drools 规则引擎的使用
  12. (附源码)php初中历史专题教学网站 毕业设计 100623
  13. 实战Kaggle比赛(二)——房价预测
  14. .netnbsp;C#实现nbsp;中文转Unic…
  15. “ST-Link无法识别到STM32单片机”
  16. 三角函数有理式的不定积分
  17. 手机已连接但无法访问互联网,碰到这个情况怎么破?想不到是这样
  18. 思科:利用三层交换机实现vlan间路由
  19. LeetCode第 764 题:最大加号标志(C++)
  20. 无线通信中与功率有关的单位

热门文章

  1. 3分钟详解服务器入网带宽出网带宽和入流量出流量
  2. 大龄程序员求职四处碰壁,不知今后该怎么办!网友:老码农有咩用
  3. jdbc之oracle
  4. 系分 - 计算机组成与体系结构
  5. GPIO模块常用的一些方法
  6. 电子驻车系统(卡钳式)
  7. 博主称抖音屏蔽很多关键词致谐音梗大流行
  8. Linux--系统安全及应用(一)(账号安全控制)
  9. 集采供应链金融系统-完整的实现了境内 外采购业务的运营和管理
  10. 2023团队程序设计天梯赛选拔赛