一些Java反编译工具/源代码查看工具的介绍

简介:

有的朋友抱怨他们在使用他们公司的闭源框架时看不到底层的源代码。那么可以尝试使用一些Java反编译工具。

下面我举个例子介绍具体使用这些反编译工具的步骤。

JAD

假设我们想在Eclipse里查看第42行Graphics2D的源代码:

直接ctrl加左键进去是看不见源码的。

我们可以使用一个开源的工具JAD通过反编译来查看其源代码。JAD的wiki介绍: https://en.wikipedia.org/wiki/JAD_(software))

Eclipse有一个对应的插件,可以从如下这个链接下载:

http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download

1. 根据你使用的Eclipse版本到上述链接里下载对应的插件。

2. 根据操作系统的类型下载反编译器的执行文件。在我的windows系统上我下载的是JAD.exe。

3. 把JAD插件放到Eclipse的plugins文件夹。

4. 把JAD.exe放到JRE目录的bin文件夹下面。

5. 重启Eclipse, 在菜单路径Windows->Preference->Java里,能看到一个新的选项JadClipse。在这里我们把第四步放好的JAD.exe的绝对路径维护给字段”Path to decompiler”。

6. 现在选中一个class按F3,即可看到JAD反编译之后的Java源代码。

JD-GUI

使用很方便,window下就是一个可执行文件。

双击jd.exe, 然后把你想反编译的.class文件拖进JD的窗口即可:

JD会自动反编译并且把源代码显示出来:

通过Maven自动下载依赖包的源代码

如果你的Java项目是通过Maven管理其依赖的,那么想查看依赖包的源代码是一件非常容易的事情:

通过这个Download Sources的右键菜单,可以自动下载依赖包的源代码文件。

例如我的Java项目的pom.xml里定义了cglib这个库的依赖:

那么触发源代码文件的下载之后:

到我的本地仓库根据包的路径名或者文件夹修改时间能够很容易找到刚刚下载的源代码文件。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

相关文章
|
8天前
|
Java
java实现动态验证码源代码——绘制验证码的jsp
java实现动态验证码源代码——绘制验证码的jsp
14 0
|
8天前
|
前端开发 Java
java实现动态验证码源代码——jsp页面
java实现动态验证码源代码——jsp页面
14 0
|
8天前
|
监控 安全 物联网
Java基于物联网技术的智慧工地解决方案源代码
应用先进的大数据、物联网、云计算等数字化技术,融合施工运营管理规范和技术标准,建构支撑施工和运营的一体化平台是投资、施工和运营单位能力建设的关键。应用企业架构、设计思维和软件工程方法,深入分析施工和运营技术特性与管理体系,研究开发基于大数据技术的智慧工地信息一体化平台,智慧工地管理平台是依托物联网、互联网建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。
94 2
|
8天前
|
算法 Java 关系型数据库
Java医院综合绩效考核系统源代码
医院绩效考核管理系统是采用B/S架构模式设计、使用JAVA语言开发、后台使用MySql数据库进行管理的一整套计算机应用软件。系统和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入)。
37 3
|
8天前
|
人工智能 运维 监控
【Java】智慧工地管理系统源代码,支持二次开发,SaaS模式
智慧工地系统围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效。
51 1
|
8天前
|
传感器 人工智能 监控
java智慧工地源代码 SaaS模式云平台
伴随着技术的不断发展,信息化手段、移动技术、智能穿戴及工具在工程施工阶段的应用不断提升,智慧工地概念应运而生,庞大的建设规模催生着智慧工地的探索和研发。
48 2
|
8天前
|
人工智能 监控 安全
【Java】智慧工地管理系统源代码,支持二次开发,SaaS模式
【Java】智慧工地管理系统源代码,支持二次开发,SaaS模式
83 0
|
8月前
|
Java API
Java调用淘宝API demo源代码
Java调用淘宝API demo源代码
73 0
|
8天前
|
移动开发 前端开发 Java
STS里的java 工程项目名称修改和目录设置成源代码
STS里的java 工程项目名称修改和目录设置成源代码
|
8天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
36 11