修改及反編譯可運行Jar包實現(xiàn)過程詳解
將可運行Jar包,反編譯成項目,修改代碼,再次編譯,打包。
需要工具:jd-gui、myeclipse
具體步驟:
1、使用jd-gui打開原始的Jar包,選擇File-->Save All Sources,會生成一個zip壓縮包
2、解壓這個壓縮包,生成一個文件夾,可以看到文件夾里所有的class文件變成了java源碼文件。(如果最開始直接解壓原始的Jar包,那么解壓出來的就是class文件,而不是java源文件)
3、打開myeclipse,新建一個普通的Project項目,將解壓后的內(nèi)容拷貝到項目里。
4、此時編譯會報錯,因為缺少依賴的Jar包,需要找到相應(yīng)的包并且導入。那么這些包到底是哪些呢?
使用jd-gui打開最原始的Jar包,在META-IN目錄下的maven目錄下,有所需要的依賴包。其中pom.properties中記錄著Jar包的版本信息,可以直接從maven倉庫下載這些包
5、最后,項目重新編譯,并且打成Jar包。如果生成的源碼可以運行,就直接編譯,直接打包。
6、如果生成的項目不能運行,但是你只需要更改一兩個類:
(1)編譯。如果導入了所依賴的包,那么項目編譯應(yīng)該是沒問題的,這一步仔細檢查。然后使用myeclipse或者java命令編譯,生成一個class文件。
(2)打包。
簡單的方法:使用rar,zip,好壓等解壓縮工具打開原始的Jar包,直接把修改的class文件拖進去,覆蓋原來的class文件。
復雜的方法:將原始Jar包,直接解壓生成一個文件夾,解壓后的是class文件。用修改后的class文件進行替換,再將這個文件夾壓縮生成一個zip文件,最后將zip文件的后綴名改成jar,即可運行。
注意使用winrar工具打包時,要選擇壓縮文件格式為zip
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot 關(guān)于Feign的超時時間配置操作
這篇文章主要介紹了SpringBoot 關(guān)于Feign的超時時間配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java后臺基于POST獲取JSON格式數(shù)據(jù)
這篇文章主要介紹了Java后臺基于POST獲取JSON格式數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03使用lombok的@Data會導致棧溢出StackOverflowError問題
這篇文章主要介紹了使用lombok的@Data會導致棧溢出StackOverflowError問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Java的Hibernate框架結(jié)合MySQL的入門學習教程
Java世界中的SSH三大框架是Web開發(fā)方面的人氣組合,Hibernate便是其中之一,這里我們來整理一下Java的Hibernate框架結(jié)合MySQL的入門學習教程,需要的朋友可以參考下2016-07-07