JAR包与JAD反编译
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反编译相关推荐
- [转]一款可以反编译jar包的java反编译工具-JD-GUI(绿色软件)
[转]一款可以反编译jar包的java反编译工具-JD-GUI(绿色软件) 文章分类:Java编程 该软件无需安装,界面清爽. 转自:http://www.devdoc.org/index.php/a ...
- 如何修改可运行Jar包,如何反编译Jar包
将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All ...
- java如何转成jar包,修改及反编译可运行Jar包实现过程详解
将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All S ...
- eclipse中集成jad反编译
[size=large]转载地址:[url]http://www.blogjava.net/sy1214520/archive/2009/04/29/209371.html[/url] 很早就听说过e ...
- Jar包加密,防止反编译
Jar包加密,防止反编译方法 XJar加密工具 XJar功能特性 使用方法(手动执行方式) 使用方法(Maven插件方式) exe4j加密工具 使用方法 jvmti加密工具 使用方法 参考 XJar加 ...
- 详解Eclipse集成Jad反编译工具
一.什么是反编译? 高级语言源程序经过编译变成可执行文件,反编译就是逆过程,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程,NET.Java这样的运行在虚拟机上的编程语言, ...
- jad环境变量配置_Java Jad 反编译
下载运行文件 解压目录 添加环境变量,dos命令反编译class文件 这是JAD-快速Java反编译程序的自述文件. JAD主页:http://www.kpdus.com/jad.html 版权所有2 ...
- 万字长文-通过Fiddler抓包和jd-gui反编译白嫖某“绅士”APP内的正能量资源(二)
系列文章目录 万字长文-通过Fiddler抓包和jd-gui反编译白嫖某"绅士"APP内的正能量资源 文章目录 系列文章目录 前言 继续深入 上活 分析源码 总结 前言 本系列文章 ...
- JD-JUI 和Jad反编译 最新版1.6.6下载
JD-JUI 最新1.6.6和Jad反编译工具 链接:https://pan.baidu.com/s/15qvNOEcebBFITeZP7HPulA 提取码:a9g3
最新文章
- Spring Cloud第十二篇:断路器监控(Hystrix Dashboard)
- python数据分析numpy_利用python进行数据分析-NumPy高级应用
- 北卡教堂山计算机科学专业,UNC的CS「北卡罗来纳大学教堂山分校计算机科学系」...
- markdown 公式_【建议收藏】数学公式如何用Markdown优雅地写出来
- 老板和主管不懂SEO,乱给SEO人员下指令怎么办?
- 小苏打到底能不能碱化尿液
- WPF 透明窗口在桌面上放虫子。。。
- java实现自动任务_Java实现定时任务的三种方法
- JavaScript浏览器对象Window对象常用方法(3)
- tf-openpose人体姿态估计标签生成--heatmap--vectormap
- Drools 规则引擎的使用
- (附源码)php初中历史专题教学网站 毕业设计 100623
- 实战Kaggle比赛(二)——房价预测
- .netnbsp;C#实现nbsp;中文转Unic…
- “ST-Link无法识别到STM32单片机”
- 三角函数有理式的不定积分
- 手机已连接但无法访问互联网,碰到这个情况怎么破?想不到是这样
- 思科:利用三层交换机实现vlan间路由
- LeetCode第 764 题:最大加号标志(C++)
- 无线通信中与功率有关的单位