国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java進(jìn)階:如何反編譯jar包獲取源碼

這篇具有很好參考價(jià)值的文章主要介紹了Java進(jìn)階:如何反編譯jar包獲取源碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

0.引言

某些沒(méi)有提供源碼的歷史遺留項(xiàng)目,或者第三方j(luò)ar包,我們常常需要進(jìn)行二開(kāi),但是又沒(méi)有源碼,這時(shí)就需要進(jìn)行反編譯獲取到項(xiàng)目源碼。

當(dāng)然也不是所有的jar都能反編譯的,某些做了防編譯處理的則不能,但對(duì)于我們歷史遺留的項(xiàng)目進(jìn)行反編譯則是完全可行的

今天我們就來(lái)看看如何進(jìn)行反編譯

1. 通過(guò)JD-GUI反編譯

JD-GUI是一款開(kāi)源的反編譯軟件,通過(guò)它我們可以比較方便的進(jìn)行jar包的反編譯。

1、其下載地址如下所示

JD-GUI下載地址

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

2、下載完成后,解壓壓縮包即可

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

3、我這里以mac系統(tǒng)為例,雙擊打開(kāi)解壓文件夾中JD-GUI程序

新版m1芯片mac可能會(huì)出現(xiàn)如下報(bào)錯(cuò)

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

提示內(nèi)容描述的是需要jdk1.8以上,實(shí)際上并不是這個(gè)原因,我這里使用的是jdk11,要解決這個(gè)問(wèn)題還需要修改一個(gè)文件

2、右鍵點(diǎn)擊JD-GUI,點(diǎn)擊顯示包內(nèi)容

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

3、進(jìn)入Contents/MacOS文件夾,打開(kāi)universalJavaApplicationStub.sh文件,使用新版的文件替換,新版文件內(nèi)容可以在如下地址復(fù)制

https://raw.githubusercontent.com/tofi86/universalJavaApplicationStub/master/src/universalJavaApplicationStub

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

因?yàn)槭峭饩W(wǎng)地址,某些同學(xué)訪問(wèn)可能有問(wèn)題,所以我單獨(dú)將修改過(guò)后的軟件包放在如下所示的網(wǎng)盤(pán)地址中,有需要可直接下載

JD-GUI mac修改版網(wǎng)盤(pán)下載地址
提取碼: vkcs

4、雙擊打開(kāi)軟件,將需要反編譯的jar包拖到軟件界面中

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

5、選中全部文件,點(diǎn)擊File-Save All Sources保存反編譯完的源碼,選擇保存路徑

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

6、等待反編譯完成即可

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

7、反編譯完成后,在BOOT-INF/classes文件夾下可以看到生成的源碼

jar包反編譯成源代碼,java進(jìn)階之路,java,jar,macos

如此我們就拿到了想要的源碼了,簡(jiǎn)單快捷!當(dāng)然生成的源碼在文件夾結(jié)構(gòu)上會(huì)有些偏差,只需要手動(dòng)調(diào)整一下即可,核心源碼是可以完整捕捉的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-798070.html

到了這里,關(guān)于Java進(jìn)階:如何反編譯jar包獲取源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 小程序應(yīng)用&解包反編譯&動(dòng)態(tài)調(diào)試&抓包&靜態(tài)分析&源碼架構(gòu)

    小程序應(yīng)用&解包反編譯&動(dòng)態(tài)調(diào)試&抓包&靜態(tài)分析&源碼架構(gòu)

    直接在微信小程序上搜就完了 參考地址:https://blog.csdn.net/m0_60571842/article/details/132564881 反編譯之后就會(huì)得到源碼,然后對(duì)源碼架構(gòu)進(jìn)行分析以下4個(gè)方面 1.更多的資產(chǎn)信息 2.敏感的配置信息 3.未授權(quán)訪問(wèn)測(cè)試 4.源碼中的安全問(wèn)題 小程序多功能組手 簡(jiǎn)單工具:http://xcx.

    2024年02月05日
    瀏覽(22)
  • Day18:信息打點(diǎn)-小程序應(yīng)用&解包反編譯&動(dòng)態(tài)調(diào)試&抓包&靜態(tài)分析&源碼架構(gòu)

    Day18:信息打點(diǎn)-小程序應(yīng)用&解包反編譯&動(dòng)態(tài)調(diào)試&抓包&靜態(tài)分析&源碼架構(gòu)

    目錄 小程序獲取-各大平臺(tái)搜索 小程序體驗(yàn)-凡科建站模版測(cè)試上線 小程序抓包-ProxifierBurpSuite聯(lián)動(dòng) 小程序逆向-解包反編譯動(dòng)態(tài)調(diào)試架構(gòu) 思維導(dǎo)圖 章節(jié)知識(shí)點(diǎn) Web:語(yǔ)言 / CMS / 中間件 / 數(shù)據(jù)庫(kù) / 系統(tǒng) / WAF 等 系統(tǒng):操作系統(tǒng) / 端口服務(wù) / 網(wǎng)絡(luò)環(huán)境 / 防火墻等 應(yīng)用: APP

    2024年04月09日
    瀏覽(29)
  • Java源代碼是如何編譯,加載到內(nèi)存中的?

    Java源代碼是如何編譯,加載到內(nèi)存中的?

    相信許多開(kāi)發(fā)同學(xué)看過(guò)《深入理解java虛擬機(jī)》,也閱讀過(guò)java虛擬機(jī)規(guī)范,書(shū)籍和文檔給人的感覺(jué)不夠直觀,本文從一個(gè)簡(jiǎn)單的例子來(lái)看看jvm是如何工作的吧。 本文所有操作均在mac上進(jìn)行。 示例代碼采用最常見(jiàn)的雙重檢索單例模式: 經(jīng)過(guò)編譯后,我們得到class文件,然后用

    2024年02月13日
    瀏覽(25)
  • Python反編譯exe獲取封裝源代碼

    Python反編譯exe獲取封裝源代碼

    先把exe和pyinstxtractor放在一起 會(huì)得到一個(gè)文件夾 安裝解析庫(kù) 一共有兩個(gè),還有個(gè)struct 用sublime打開(kāi)兩個(gè)文件,看到一堆二進(jìn)制,其中struct是多一行的,把struct的第一行復(fù)制到前一個(gè)文件中 uncompyle6 C:UserslenovoDesktop20223102412-李凌飛exemerge_ALL_ALL_V1.0.exe_extractedmerge_ALL_ALL_V1.0

    2024年01月19日
    瀏覽(21)
  • RK3568平臺(tái)開(kāi)發(fā)系列講解(環(huán)境篇)10min帶你獲取、了解與編譯U-Boot源代碼
  • 【Java可執(zhí)行命令】(一)編譯工具javac:從源代碼到字節(jié)碼,深入解析Java編譯工具 javac ~

    【Java可執(zhí)行命令】(一)編譯工具javac:從源代碼到字節(jié)碼,深入解析Java編譯工具 javac ~

    Java 編程語(yǔ)言的可執(zhí)行命令程序 javac 是 Java Development Kit (JDK) 的一部分,旨在將 Java 源代碼編譯為可執(zhí)行的字節(jié)碼文件。 javac 的設(shè)計(jì)目的是為了支持 Java 的跨平臺(tái)特性,使開(kāi)發(fā)人員能夠編寫(xiě)一次代碼,然后在不同的操作系統(tǒng)上運(yùn)行。 javac 是 Java 編譯器的命令行前端,它將 Ja

    2024年02月16日
    瀏覽(21)
  • APP滲透—微信小程序、解包反編譯、數(shù)據(jù)抓包

    APP滲透—微信小程序、解包反編譯、數(shù)據(jù)抓包

    ??在之前的第一篇文章中簡(jiǎn)單的描述了一下微信小程序抓包的過(guò)程,但是不是很詳細(xì),所以這里單獨(dú)寫(xiě)一篇關(guān)于微信小程序抓包、解包、反編譯的一篇文章。 ??這里對(duì)小程序進(jìn)行抓包、反編譯等操作,都是為了進(jìn)行信息收集,主要就是提取資產(chǎn)進(jìn)行滲透測(cè)試。 ??不管

    2024年02月09日
    瀏覽(65)
  • mvn build jar依賴和源碼本身分開(kāi)。減輕編譯后的jar大小

    問(wèn)題場(chǎng)景:平時(shí)在springboot項(xiàng)目中,打jar包都是默認(rèn)把開(kāi)發(fā)的代碼和依賴jar包都打到一個(gè)jar包里,導(dǎo)致每次打包費(fèi)時(shí)而且jar包還很大,升級(jí)一下都要把一個(gè)很大的包拷來(lái)拷去。如果是修改問(wèn)題需要頻繁替換jar包,那簡(jiǎn)直要瘋 解決方案:把代碼包打成我們需要的jar包,把依賴的

    2024年02月14日
    瀏覽(20)
  • 如何獲取當(dāng)前 JAR 包的存放位置?

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 要獲取當(dāng)前運(yùn)行的 JAR 包所存放的位置,可以使用 ProtectionDomain 和 CodeSource 類。 代碼: 注意:這種方法適用于獨(dú)立的可執(zhí)行 JAR 包。如果你的代碼是作為依賴項(xiàng)運(yùn)行在其他項(xiàng)目或容器中,可能會(huì)得到不同

    2024年02月11日
    瀏覽(17)
  • 利用IDEA插件反編譯jar包 成JAVA文件

    利用IDEA插件反編譯jar包 成JAVA文件

    直接下載地址: Java Decompiler JD Java Decompiler http://java-decompiler.github.io/ 下載好后,直接雙擊打開(kāi): 直接把要反編譯的jar拖進(jìn)去即可,如: 1、下載插件 通過(guò)【File】——【Settings】——【Plugins】輸入 Java Decompiler 進(jìn)行查看,看是否有 Java Decompiler 這個(gè)插件。 沒(méi)有安裝就下載安裝

    2024年02月13日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包