1、對于傳統(tǒng)的C或C++之類的語言來說,要在Web上保護(hù)源代碼是很容易的,只要不發(fā)布它就可以。遺憾的是,Java程序的源代碼很容易被別人偷看。只要有一個反編譯器,任何人都可以分析別人的代碼。
公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出永善免費做網(wǎng)站回饋大家。
2、java開源指的是java語言的實現(xiàn)是開源的,所有開發(fā)人員、公司或者個人都可以免費使用,更改。與開源對應(yīng)的是有些語言是不開源的,比如c,有turbo c,源代碼不公開的,就不是開源的。
3、自由軟件一般是不僅可以免費得到,而且公開源代碼;相對應(yīng)地,非自由軟件則是不公開源代碼。所有一切通過非正常手段獲得非自由軟件源代碼的行為都將被視為非法。
4、請搜索反編譯,jad decompile,可以安裝在myeclipse等java開發(fā)工具中,可以直接打開.class文件查看源代碼,所以答案是可以破解。
5、Java很多的性能都是PHP無法比擬的,比如安全性,從安全性出發(fā),很多的企業(yè)甚至是國家都會選擇用Java,PHP開發(fā)的程序的源代碼都是公開的,他人拿到PHP開發(fā)的程序后都可以進(jìn)行修改。
在使用這些本地代碼之前,往往需要對這些本地代碼進(jìn)行認(rèn)證,確保這些代碼沒有被黑客更改。如果簽名檢查通過,則調(diào)用相關(guān)JNI方法。這種保護(hù)方式示意圖見圖3。
如果你覺得C能保證安全水平更好,那可以加掛 Java 6 開始支持的 Instrument,它可以支持對 class 文件進(jìn)行解密。
這個就要用專業(yè)的源代碼加密軟件去加密了。因為源代碼涉及到的編譯環(huán)境會相對復(fù)雜的。我目前了解到就是德人合科技的加密防泄密系統(tǒng)。
由此可能引發(fā)的問題在預(yù)定義代碼范圍部分已經(jīng)提到。因此,同樣請僅在必要時使用內(nèi)部類。原則五:確保類不可克隆Java提供一項功能,用于在需要時對自有類進(jìn)行克隆。
避免最終應(yīng)用程序中的死代碼(注釋內(nèi)的代碼)。如果闖入者去掉了對這樣的代碼的注釋,那么代碼可能會影響系統(tǒng)的功能性。
首先要明確以下兩點:不影響被防范的成員(比如新程序員)工作。讓其能正常運行、調(diào)試、查看日志等。對核心代碼封死,需要保護(hù)的部分不可見。
1、原則五:確保類不可克隆 Java提供一項功能,用于在需要時對自有類進(jìn)行克隆。然而這項功能往往被黑客所利用,其能夠使用java.lang.Cloneable從代碼中復(fù)制代碼實例并竊取必要信息。
2、轉(zhuǎn)換成本地代碼 將程序轉(zhuǎn)換成本地代碼也是一種防止反編譯的有效方法。因為本地代碼往往難以被反編譯。開發(fā)人員可以選擇將整個應(yīng)用程序轉(zhuǎn)換成本地代碼,也可以選擇關(guān)鍵模塊轉(zhuǎn)換。
3、反射型XSS腳本攻擊即如我們上面所提到的XSS跨站腳本攻擊方式,該類型只是簡單地將用戶輸入的數(shù)據(jù)直接或未經(jīng)過完善的安全過濾就在瀏覽器中進(jìn)行輸出,導(dǎo)致輸出的數(shù)據(jù)中存在可被瀏覽器執(zhí)行的代碼數(shù)據(jù)。