美文网首页
IDEA—使用插件反编译jar包

IDEA—使用插件反编译jar包

作者: Hughman | 来源:发表于2020-09-22 19:31 被阅读0次

    关注: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
    [图片上传失败...(image-b79184-1600774215874)]

    反编译

      在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包里面显示的即为java文件:


    java文件

    总结

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

    相关文章

      网友评论

          本文标题:IDEA—使用插件反编译jar包

          本文链接:https://www.haomeiwen.com/subject/mthgyktx.html