使用idea进行反编译
使用idea进行反编译
首先在idea中安装插件,这里我从marketplace中没找到,然后在installed中发现已经安装好了
找到java-decompiler.jar
存放的路径
1 | D:\software\IntelliJ IDEA 2021.2.3\plugins\java-decompiler\lib\java-decompiler.jar |
在需要反编译的jar包同目录下创建一个文件夹,用来存放反编译之后的文件
在改目录下打开cmd(默认的java是java8)
1 | java -cp "D:\software\IntelliJ IDEA 2021.2.3\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true app.jar app |
但是会报错
Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.UnsupportedClassVersionError: org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
这是因为jar包中的class文件的版本和本机的java版本不对应的缘故
class文件版本跟jdk版本对应关系如下
1 | 49 = Java 5 |
所以根据报错,应该采用java11进行反编译
1 | D:\environment\java\jdk-11.0.2\bin\java.exe -cp "D:\software\IntelliJ IDEA 2021.2.3\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true app.jar app |
运行成功
最后在指定的文件夹下会出现一个已经编译好的jar包,进行解压查看即可
其中的源码已经反编译为java文件
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sk1y's Blog!
评论