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
文件,使用新版的文件替换,新版文件内容可以在如下地址复制
因为是外网地址,某些同学访问可能有问题,所以我单独将修改过后的软件包放在如下所示的网盘地址中,有需要可直接下载
JD-GUI mac修改版网盘下载地址
提取码: vkcs
4、双击打开软件,将需要反编译的jar包拖到软件界面中
5、选中全部文件,点击
File-Save All Sources
保存反编译完的源码,选择保存路径
6、等待反编译完成即可
7、反编译完成后,在
BOOT-INF/classes
文件夹下可以看到生成的源码
如此我们就拿到了想要的源码了,简单快捷!当然生成的源码在文件夹结构上会有些偏差,只需要手动调整一下即可,核心源码是可以完整捕捉的。
版权归原作者 wu@55555 所有, 如有侵权,请联系我们删除。