如何將java中的class文件反編譯 jar是否都能被輕易的反編譯?
jar是否都能被輕易的反編譯?最近寫仿真作業(yè),教授給發(fā)了jar格式的工具類,是因?yàn)橹T般原因想看源碼,就給扔到網(wǎng)上隨便選一個(gè)decompile,可是秒出結(jié)果,連注釋都一個(gè)字不差。所以我現(xiàn)在jar都可以不
jar是否都能被輕易的反編譯?
最近寫仿真作業(yè),教授給發(fā)了jar格式的工具類,是因?yàn)橹T般原因想看源碼,就給扔到網(wǎng)上隨便選一個(gè)decompile,可是秒出結(jié)果,連注釋都一個(gè)字不差。所以我現(xiàn)在jar都可以不那么輕松被反編譯不出來嗎?
首先可以明確速回你的是:jar文件是這個(gè)可以被反編譯的,但卻不是意味著什么所有的jar文件都會(huì)容易的被反匯編!
jar文件是一種普通的壓縮文件jar文件當(dāng)然是Java歸檔文件,是一種軟件包,利用另外Java項(xiàng)目打包產(chǎn)物的或開發(fā)類庫。雖說后綴是jar,但其實(shí)是以Zip來壓解的,所以才我們可以不就將jar文件用解壓工具解壓縮,解壓縮后的是一些class文件和配置文件。
而newclass文件是可以被加殼的,有很多現(xiàn)成的工具,比如:jd-gui等。
避免jar文件被貿(mào)然java代碼則需要并且代碼混淆不清如果沒有我們要盡量的避免他人輕易反編譯jar文件,那在打包為jar文件前就對(duì)代碼并且混為一談如何處理,那樣的話就算反編譯后可讀性很高!
以上就是我的觀點(diǎn),對(duì)此這個(gè)問題大家是怎摸平等的眼光的呢?感謝在下方評(píng)論區(qū)交流~我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),請(qǐng)關(guān)注我知道一點(diǎn)更大科技知識(shí)!
class怎么防止被反編譯?
任何加密都是沒有用如果能能本地運(yùn)行的java程序就是有有辦法反編譯。只不過java最終我總是要編程字節(jié)碼的,自己實(shí)現(xiàn)classLoader也可以就gadgetJVM,就一定會(huì)能搞到字節(jié)碼,接著加殼。不過混肴過的代碼smali不出來沒有可讀性。。
文件怎樣才能轉(zhuǎn)換成java源碼求大神賜教?
是需要將文件轉(zhuǎn)成jar文件,這里這個(gè)可以使用dex2jar這個(gè)工具接著用jd-gui這個(gè)工具將jar包中的class反編譯成java文件由于現(xiàn)在答題不能不能真接上傳文件了