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插件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM