將class文件變成java文件 Java中Jar包為什么能輕易就給反編譯了?
Java中Jar包為什么能輕易就給反編譯了?C、C源代碼被預(yù)編譯、編譯并鏈接成最終機(jī)器識(shí)別的二進(jìn)制代碼,而Java編譯是將源代碼翻譯成Java虛擬機(jī)識(shí)別的中間字節(jié)碼。這是為了保持跨平臺(tái)的優(yōu)勢(shì)。將字節(jié)碼
Java中Jar包為什么能輕易就給反編譯了?
C、C源代碼被預(yù)編譯、編譯并鏈接成最終機(jī)器識(shí)別的二進(jìn)制代碼,而Java編譯是將源代碼翻譯成Java虛擬機(jī)識(shí)別的中間字節(jié)碼。這是為了保持跨平臺(tái)的優(yōu)勢(shì)。將字節(jié)碼轉(zhuǎn)換回源代碼的規(guī)則相對(duì)簡(jiǎn)單,沒(méi)有將二進(jìn)制代碼轉(zhuǎn)換回源代碼那么困難。將字節(jié)碼轉(zhuǎn)換成可被計(jì)算機(jī)識(shí)別的二進(jìn)制碼是Java虛擬機(jī)的工作。
jar是否都能被輕易的反編譯?
類(lèi)文件可以反編譯,有很多現(xiàn)成的工具,如:jdgui等。