0


Java进阶:如何反编译jar包获取源码

0.引言

某些没有提供源码的历史遗留项目,或者第三方jar包,我们常常需要进行二开,但是又没有源码,这时就需要进行反编译获取到项目源码。

当然也不是所有的jar都能反编译的,某些做了防编译处理的则不能,但对于我们历史遗留的项目进行反编译则是完全可行的

今天我们就来看看如何进行反编译

1. 通过JD-GUI反编译

JD-GUI是一款开源的反编译软件,通过它我们可以比较方便的进行jar包的反编译。

1、其下载地址如下所示

JD-GUI下载地址

在这里插入图片描述

2、下载完成后,解压压缩包即可

在这里插入图片描述

3、我这里以mac系统为例,双击打开解压文件夹中

JD-GUI

程序

新版m1芯片mac可能会出现如下报错

在这里插入图片描述

提示内容描述的是需要jdk1.8以上,实际上并不是这个原因,我这里使用的是jdk11,要解决这个问题还需要修改一个文件

2、右键点击

JD-GUI

,点击

显示包内容

在这里插入图片描述

3、进入

Contents/MacOS

文件夹,打开

universalJavaApplicationStub.sh

文件,使用新版的文件替换,新版文件内容可以在如下地址复制

https://raw.githubusercontent.com/tofi86/universalJavaApplicationStub/master/src/universalJavaApplicationStub

在这里插入图片描述

因为是外网地址,某些同学访问可能有问题,所以我单独将修改过后的软件包放在如下所示的网盘地址中,有需要可直接下载

JD-GUI mac修改版网盘下载地址
提取码: vkcs

4、双击打开软件,将需要反编译的jar包拖到软件界面中

在这里插入图片描述

5、选中全部文件,点击

File-Save All Sources

保存反编译完的源码,选择保存路径

在这里插入图片描述

在这里插入图片描述

6、等待反编译完成即可

在这里插入图片描述

7、反编译完成后,在

BOOT-INF/classes

文件夹下可以看到生成的源码

在这里插入图片描述

如此我们就拿到了想要的源码了,简单快捷!当然生成的源码在文件夹结构上会有些偏差,只需要手动调整一下即可,核心源码是可以完整捕捉的。

标签: java jar macos

本文转载自: https://blog.csdn.net/qq_24950043/article/details/127175159
版权归原作者 wu@55555 所有, 如有侵权,请联系我们删除。

“Java进阶:如何反编译jar包获取源码”的评论:

还没有评论