IDEA—使用插件反编译jar包

技术公众号:后端技术解忧铺
关注微信公众号:CodingTechWork,一起学习进步。

引言

  在产品上线后,如果遇到问题阻塞,我们第一步要做的就是去查看日志,但是代码不是一个人写的,说不定就会遇到没有日志的,遇到这种情况,只能去看日志的报错行数是哪里,否则,无从下手。
  查看日志报错行数时,发现现有代码又和线上的代码不一致,又阻塞了,怎么办?这个时候我们就需要反编译,反编译有很多工具可以使用,比如JD-GUI。本文接下来就介绍一下如何通过我们神奇的Idea软件进行反编译jar包。

实践

idea反编译插件

  首先,我们要保证IDEA中有反编译插件。通过【Settings】——>【Plugins】输入Decompiler进行查看,看是否有Java Bytecode Decompiler这个插件。
idea反编译插件

命令行进行反编译

查找插件路径

查找idea安装路径
  找到IDEA安装路径后,我们就可以找到插件的安装路径:C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.2\plugins\java-decompiler\lib\java-decompiler.jar
反编译插件安装路径

反编译

  在jar包同目录下创建一个目录,如decompiler_test文件夹。
创建文件夹存放反编译出来的jar包
  然后,使用git-bash命令行执行以下命令:

java -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.2\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true demo-0.0.1-SNAPSHOT.jar decompiler_test

命令行执行反编译命令

注意
  如果不先创建目录,就执行的话,可能会报错。

$ java -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.2\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true d                              emo-0.0.1-SNAPSHOT.jar decompiler_test
error: destination 'decompiler_test' is not a directory

查看反编译文件

反编译出来的jar包
  因为以上命令执行后,反编译出来的也jar包。需要我们进行解压(通过解压工具):
解压反编译的jar包
  解压后的jar包里面显示的即为java文件:
java文件

总结

  至此,就可有通过IDEA中的插件对jar包进行反编译。整个流程主要依赖于IDEA中的Java Bytecode Decompiler插件。

posted @ 2020-09-22 19:31  Andya_net  阅读(522)  评论(0编辑  收藏