公眾號(hào):mywangxiao
及時(shí)發(fā)布考試資訊
分享考試技巧、復(fù)習(xí)經(jīng)驗(yàn)
新浪微博 @wangxiaocn關(guān)注微博
聯(lián)系方式 400-18-8000
眾所周知,java開(kāi)發(fā)語(yǔ)言提供了很方便的開(kāi)發(fā)平臺(tái),而且開(kāi)發(fā)出來(lái)的程序很容易在不同的平臺(tái)上面進(jìn)行移植,現(xiàn)在越來(lái)越多的人使用它開(kāi)發(fā)軟件。
Java有了它方便的一個(gè)方面,但是他同時(shí)也帶給了開(kāi)發(fā)者一個(gè)煩惱,這就是保護(hù)的辦法不多,而且大多數(shù)不是很好用,這樣自己辛苦開(kāi)發(fā)出來(lái)的程序很容易被人反編譯過(guò)來(lái)而據(jù)為己有。
一般情況下,大多數(shù)的人都是用混編器(java obfuscator)來(lái)把開(kāi)發(fā)出來(lái)的程序進(jìn)行打亂以達(dá)到?jīng)]有辦法來(lái)反編譯觀看源代碼,但是這種辦法在網(wǎng)上很容易找到相關(guān)的軟件來(lái)重新整理,那么這個(gè)混編只能控制一些本來(lái)也沒(méi)有辦法動(dòng)您的軟件的人,而對(duì)于一些掌握工具的人幾乎是透明的,還有就是利用硬件加密鎖,但大多數(shù)公司提供的硬件加密鎖只是提供了一些 dll的連接或簡(jiǎn)單的api調(diào)用,只要反編譯他們,就很容易把一些api調(diào)用去掉,這樣硬件加密鎖也就不起作用了,但是現(xiàn)在到底有沒(méi)有好的辦法呢?
市場(chǎng)上現(xiàn)有的幾款防止反編譯工具其實(shí)都是改進(jìn)了加載過(guò)程。但是加載到JAVA虛擬機(jī)后一樣可以得到CLASS字節(jié)碼的。只要懂JAVA原理的人其實(shí)很用意破解的。JAVACOMPILE 這款工具就不一樣了,javacompile 它是修改了虛擬機(jī)內(nèi)核,用戶目錄里沒(méi)有需要的JAVA字節(jié)碼,而是當(dāng)JAVA需要調(diào)用函數(shù)的時(shí)候才通過(guò)網(wǎng)絡(luò)下載相對(duì)應(yīng)的已經(jīng)二次編譯的字節(jié)碼,就算用戶通過(guò) CLASS.getClass 也得不到可以用來(lái)反編譯字節(jié)碼。 真正意義上保護(hù)了JAVA知識(shí)產(chǎn)權(quán)。 個(gè)人版限制編譯30個(gè)CLASS文件,文件打包方式下載。
編輯推薦:
JAVA認(rèn)證考試報(bào)考指南 / 更多JAVA考試資料
(責(zé)任編輯:xy)