日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

反编译jar包

發布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 反编译jar包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:
前提說明:反編譯別人的程序,是不推薦的,畢竟不太好,有可能涉及保密。
有時是沒有辦法而為之,原程序的開發工程師離職了,新的接口人業務不了解,但是也沒有辦法提供源碼,而部署文檔又不明確,這樣在部署的時候就需要看程序結構和配置了,所以需要反編譯一下jar包。

工具如下:

  • jd-gui.exe;
  • luyten-0.5.4.exe;
  • java-decompiler.jar;
  • 我知道的有以上三個工具,比較推薦的是第三個,IntelliJ自帶的反編譯工具,反編譯效果比較好,但其他的也有自己的優點。

  • jd-gui.exe:
    步驟:雙擊打開->File->Open File->選擇要反編譯的jar包->確定;
    保存:File->Save All Sourses,得到一個壓縮包,解壓即可;

    反編譯后的java類中的導包,也就是import比較明確,不會用*代替多個同文件目錄下的java的導入,一些中文字段也能夠正確的轉換,目錄結構看著也比較好;
    但是對于lambda表達式會有以下缺陷,有些java類也不能成功反編譯。
  • luyten-0.5.4.exe
    步驟:雙擊打開->File->Open File->選擇要反編譯的jar包->確定;
    保存:File->Save All Sourses,得到一個壓縮包,解壓即可;

    可以看出,反編譯后的目錄結構的查看效果相對較差一點,import使用了*,一些中文字段變成了ASCII碼,但是它可以較好的反編譯出lambda表達式。
  • java-decompiler.jar
    這個需要使用命令行cmd進行操作,
    步驟:將java-decompiler.jar放在需要解壓的jar包目錄下->新建一個文件夾(用于存放反編譯后的壓縮包)->該目錄下打開cmd.exe->輸入
    java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true xxx.jar xxx
    保存:運行命令后會在xxx文件夾下面生成一個與原先的jar包同名的文件,加壓縮即可;
    說明:
    (1)xxx.jar是需要反編譯的jar包的全名
    (2)xxx是新建的文件夾的全名
    (3)如果 java-decompiler.jar與jar包不在同一目錄下,則需要 java-decompiler.jar指定路徑,比如將上面的java-decompiler.jar改成 “D:\IntelliJ\plugins\java-decompiler\lib\java-decompiler.jar”
    反編譯效果比較好,可以綜合一下以上兩個軟件的優點,但也有不足,@Override注解沒有,需要自己添加,其余的需要結合使用情況了。
  • 反編譯后:

    java文件和配置文件在\BOOT-INF\classes目錄下;
    pom.xml文件在\META-INF\maven\com.xxx\xxx目錄下;
    mapper文件的位置有所變動,需要自己調整一下;
    反編譯的效果肯定不如源碼,還要結合具體的邏輯進行調整,另外代碼里面如果使用@Data注解,反編譯后會附帶的一些重寫方法,直接刪掉即可,比如:

    @Override public boolean equals(final Object o) {}

    工具下載:
    提取鏈接鏈接:https://pan.baidu.com/s/1koppf3_0EqSLW--q5rbGMQ
    提取碼:h5bn

    總結

    以上是生活随笔為你收集整理的反编译jar包的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。