您好,登錄后才能下訂單哦!
JD-GUI怎么反編譯jar包為Java源代碼,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
程序員難免要借鑒其他java工程的代碼。可有時只能拿到.calss文件,jar包或者war包,這個時候要求程序員能熟練的將這些類型文件反編譯為Java代碼并形成可編譯運行的項目。本文介紹的反編譯工具是JD-GUI。反編譯的jar包是一個springboot項目的jar包。
下載地址https://pan.baidu.com/s/1zomK-U1eBN2_Z4wqscUvwA
提取碼g8v8
下載后解壓,無需安裝,雙擊打開exe文件。
open file選擇要反編譯的jar包,
打開,左側classes->com目錄下就是java源代碼文件
點擊想查看的文件,可以看到源代碼,點擊有下劃線的變量符號,會自動跳轉到定義處,也可以搜索變量名,但是搜索時會比較慢,需要多等一會。
這樣只能查看代碼,要編譯修改運行代碼,就要把所有代碼提取出,形成工程項目。點擊File->save all source
源代碼會保存為壓縮包
壓縮包解壓是三個文件夾
java代碼都在BOOT-INF/calsses/com里
將classes目錄里的所有東西一起拷貝到建立好的空的springboot項目中編譯運行,目錄層次要拷貝正確。application.properties和pom.xm里的內容復制反編譯解壓目錄同名文件里的,粘貼到springboot項目對應文件里。
現在項目代碼有了,配置文件也有,但是一般還不能成功運行項目。因為反編譯的pom不是特別準確,可能很多項目需要的包,pom里沒有import。或者原項目用的一些jar包本來就是手工導入項目,不是pom統一管理的。
最好的辦法就是從被反編譯的jar包里提取所有需要import的jar包。
將test01.jar后綴名改成zip test01.zip,解壓到當前文件夾。
解壓后的BOOT-INF\lib里有本項目需要的全部jar包,將所有jar包通過add external jar的方式加到項目中。
到這里距離成功運行項目很近了,因為反編譯的代碼也不是特別精確,有些代碼需要人工分析修改,或者修改不成功只能注釋掉,才能通過編譯。運行時有些包可能報錯,主要是pom引入的包和手工導入的包沖突,或者有些包版本不對,也需要逐一解決。當然,有些反編譯項目直接正確運行不報錯誤,這樣當然最好了。
關于JD-GUI怎么反編譯jar包為Java源代碼問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。