Java .class文件的反編譯與反匯編


 

轉載請注明原文地址:https://www.cnblogs.com/ygj0930/p/10840818.html

 

一:反編譯

    通常用於第三方JAR包的逆向工程。

    一般我們拿到的jar包都是經過編譯后的 .class文件,但是我們在開發過程中對jar包的調用有疑問,或者像深入探索原理時,根本無法查看源碼,這對我們來說就比較沮喪了。

    這個時候,我們可以通過一些反編譯工具,將 .class 文件逆向成 java源代碼,這樣就可以看到它的真面目啦~

    java反編譯我們一般使用jad工具,或者網上提供的一些可用的第三方工具,很多的,找找就有了。

 

二:反匯編

    反匯編與反編譯是兩碼事,雖然原材料都是 .class文件。

    上面提到的反編譯是向上的,即根據編譯后的結果,反向得到編譯前的源碼。

    而反匯編則是根據編譯后的結果,倒推源碼編譯的過程,這里就可以看出代碼邏輯真實編譯、執行過程的每一步,對於性能優化、問題追溯等具有十分強大的幫助。

    Java反匯編使用jdk自帶的工具——javap。

    安裝了Java開發環境的電腦上,可以通過命令行 輸入 :javap -c XXX.class 文件來查看該class文件的編譯過程。

    

    

 


免責聲明!

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



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