Java反编译Jar包 jd-gui 与 Idea自带工具反编译jar包!
文章最后更新时间:2025年05月16日
Windows版本 反编译
工具:jd-gui-windows-1.6.6
下载地址:https://gitee.com/li_kun_zang/jd-gui/releases/v1.6.6
打开软件

点击File - Open File,然后选择你的一个Jar包

自己审核文件没大问题,那就去导出吧

导出的文件依旧在 BOOT-INF文件夹下的classes里
pom.xml 文件则在:META-INF下的maven文件夹下 进入最里层 导出即可!
通用反编译方式
利用IDEA的反编译工具 反编译我们的代码
思路:
前提:包是JDk8编译的,得用JDK8反编译。目前已知的问题是JDK11的包,用JDK8反编译肯定是失败的!
特殊说明:
你需要找到 java-decompiler.jar所在的位置,就在IDEA安装目录 - plugins - java-decompiler文件夹下。
命令组成:java -cp {IDEA的插件jar} org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true {目标jar包} {生成文件夹路径}
通用命令
Mac使用教程
mac因为文件夹不是很清晰,所以我提取好java-decompiler.jar所在的位置,方便大家使用!
你可能遇到的报错
上面说Version是什么呢?
XXX是由较新版本的java Runtime(类文件版本61.0)编译的,该版本的java运行时只能识别最高达55.0的类文件。
白话就是我们当前的版本不对!当前Java Runtime版本是55.0,而目标包是61.0编译的。当前的解决方案就是使用61.0的Java Runtime。下面会介绍61.0的Java Runtime对应什么版本的JDK!
Java Class版本对应关系
JDK版本号 | Class版本号 | 16进制 |
1.1 | 45.0 | 00 00 00 2D |
1.2 | 46.0 | 00 00 00 2E |
1.3 | 47.0 | 00 00 00 2F |
1.4 | 48.0 | 00 00 00 30 |
1.5 | 49.0 | 00 00 00 31 |
1.6 | 50.0 | 00 00 00 32 |
1.7 | 51.0 | 00 00 00 33 |
1.8 | 52.0 | 00 00 00 34 |
9 | 53.0 | 00 00 00 35 |
10 | 54.0 | 00 00 00 36 |
11 | 55.0 | 00 00 00 37 |
12 | 56.0 | 00 00 00 38 |
13 | 57.0 | 00 00 00 39 |
14 | 58.0 | 00 00 00 3a |
15 | 59.0 | 00 00 00 3b |
16 | 60.0 | 00 00 00 3c |
17 | 61.0 | 00 00 00 3d |
18 | 62.0 | 00 00 00 3e |
知道了JDK版本,我们就得切换JDK版本了。升级完后,java -version看一下Java版本,确定当前是你需要的JDK版本,在执行反编译就OK了!
还没有评论,来说两句吧...