摘 要:本文基于對(duì)Java軟件運(yùn)行保護(hù)的簡(jiǎn)單了解,根據(jù)其軟件保護(hù)技術(shù)中存在的過于依賴運(yùn)行平臺(tái)、B/S結(jié)構(gòu)的網(wǎng)絡(luò)軟件無法應(yīng)用、診斷和定位錯(cuò)誤難以改正等問題,對(duì)Java軟件保護(hù)技術(shù)提出了遠(yuǎn)程接口訪問、軟件數(shù)字水印等有效改進(jìn)技術(shù)方案,為我國(guó)軟件保護(hù)技術(shù)奠定良好基礎(chǔ)。
關(guān)鍵詞:計(jì)算機(jī)軟件;軟件保護(hù)技術(shù);技術(shù)應(yīng)用
引言:在大數(shù)據(jù)時(shí)代背景下,我國(guó)計(jì)算機(jī)軟件開發(fā)技術(shù)已經(jīng)有了突飛猛進(jìn)的進(jìn)展,而且軟件開發(fā)是凝聚了開發(fā)人員智慧結(jié)晶的技術(shù)密集型產(chǎn)品。雖然各種技術(shù)手段在一定程度上對(duì)Java軟件起到保護(hù)作用,但還是存在明顯的缺陷以及局限性,所以需要針對(duì)具體問題提出有效解決辦法。
一、Java軟件保護(hù)技術(shù)存在的問題
對(duì)Java軟件保護(hù)的技術(shù)種類很多,比如代碼隔離技術(shù)、數(shù)字水印技術(shù)、代碼混淆技術(shù)以及本地化技術(shù)等,但是其中最常應(yīng)用的則是本地化技術(shù),因?yàn)榕c其他技術(shù)相比較,本地化技術(shù)具有執(zhí)行速度快、占用內(nèi)存小、安全性能高等優(yōu)勢(shì),但是其中仍存在著以下三種問題:
第一,本地化技術(shù)過于依賴具體的運(yùn)行平臺(tái),由于跨平臺(tái)性本地編譯需要依賴具體的實(shí)際運(yùn)行平臺(tái),并且只能在同一種平臺(tái)上運(yùn)行,如果失去這個(gè)機(jī)會(huì)和條件,那么將會(huì)得到二進(jìn)制格式的可執(zhí)行文件;第二,在Java軟件運(yùn)行過程中,服務(wù)器程序端具有固定化模式,必須運(yùn)行在Java軟件應(yīng)用的服務(wù)器上,繼而導(dǎo)致B/S結(jié)構(gòu)的網(wǎng)絡(luò)軟件無法進(jìn)行應(yīng)用;第三,就目前軟件開發(fā)的形式來說,Java軟件的本地化處理技術(shù)仍處于初級(jí)發(fā)展階段,無論是基礎(chǔ)理論還是實(shí)際應(yīng)用,其環(huán)節(jié)操作性能都比較薄弱,因此,在服務(wù)器的診斷與技術(shù)性定位本機(jī)編譯過程中產(chǎn)生的問題,解決起來都比較困難[1]。
二、Java軟件保護(hù)應(yīng)用有效技術(shù)措施
(一)遠(yuǎn)程接口訪問技術(shù)
遠(yuǎn)程接口訪問技術(shù)指的是通過ISDN與異步撥號(hào)線路共同構(gòu)成的電路交換,而Java應(yīng)用軟件可以直接通過HTTP協(xié)議來訪問網(wǎng)絡(luò)資源,而軟件內(nèi)部的分布式結(jié)構(gòu)將其統(tǒng)分為客戶端與服務(wù)器端兩個(gè)部分。而分布式體系結(jié)構(gòu)已經(jīng)成為現(xiàn)代軟件開發(fā)中不可或缺的一種形式。在整體結(jié)構(gòu)中,功能模塊與業(yè)務(wù)流程作為系統(tǒng)核心,其一般都在服務(wù)器端為客戶提供相應(yīng)需求的服務(wù),而針對(duì)于數(shù)據(jù)采集整理、提交各類請(qǐng)求與處理以及服務(wù)器開展通業(yè)務(wù)等都屬于客戶端的主要任務(wù)。分布式體系結(jié)構(gòu)的應(yīng)用能夠有效提高系統(tǒng)的安全性、互相操作性,同時(shí)也能提高系統(tǒng)的可移植性,在一定基礎(chǔ)上還能有效降低軟件開發(fā)的成本問題。因此,此種遠(yuǎn)程接口訪問服務(wù)技術(shù)逐漸受到軟件開發(fā)人員的重視。
遠(yuǎn)程接口訪問的實(shí)質(zhì)就是在將應(yīng)用與現(xiàn)實(shí)分開的基礎(chǔ)上,將軟件的內(nèi)部關(guān)鍵點(diǎn)應(yīng)用在遠(yuǎn)程服務(wù)器上,繼而進(jìn)行實(shí)質(zhì)性操作運(yùn)行。而用戶針對(duì)此種操作方式,在對(duì)服務(wù)器訪問的過程中,需要提交相關(guān)服務(wù)請(qǐng)求,在此基礎(chǔ)上才能有效獲得相應(yīng)任務(wù)。在此項(xiàng)技術(shù)操作過程中,安全性得到提升的同時(shí),還具有一定的局限性,不能適用于全部軟件。比如B/S結(jié)構(gòu)或分布式結(jié)構(gòu)軟件需要進(jìn)行聯(lián)網(wǎng)運(yùn)行,在單機(jī)上是不能夠進(jìn)行操作運(yùn)行的。這項(xiàng)技術(shù)還存在較大的安全漏洞,在實(shí)際上轉(zhuǎn)移了保護(hù)焦點(diǎn),將焦點(diǎn)從關(guān)鍵的Java類文件轉(zhuǎn)移到應(yīng)用服務(wù)器上。當(dāng)這種情況出現(xiàn)時(shí),制定并完善相應(yīng)的安全機(jī)制是至關(guān)重要的關(guān)鍵環(huán)節(jié),能有效保護(hù)好遠(yuǎn)程接口訪問的端口,防止服務(wù)器被破壞。
(二)軟件數(shù)字水印技術(shù)
軟件數(shù)字水印技術(shù)是在眾多技術(shù)應(yīng)用中,屬于先進(jìn)的Java保護(hù)技術(shù),其根本目的是對(duì)計(jì)算機(jī)代碼的安全進(jìn)行保護(hù)。而計(jì)算機(jī)代碼按照實(shí)質(zhì)與性能可以分為源代碼和機(jī)器代碼兩種,在代碼運(yùn)行過程中,存在著被非法復(fù)制和篡改的危險(xiǎn),因此,需要進(jìn)一步保障技術(shù)運(yùn)行的安全性能[2]。
軟件數(shù)字水印技術(shù)與其他應(yīng)用技術(shù)相比,有著較強(qiáng)的優(yōu)勢(shì)特征,具體體現(xiàn)在以下幾個(gè)方面:第一,軟件數(shù)字水印技術(shù)能夠有效當(dāng)作維護(hù)知識(shí)產(chǎn)權(quán)不受剽竊和侵害的證據(jù),在具體的程序運(yùn)行維護(hù)中,操作者將作者的各方面信息都進(jìn)行有效嵌入,致使在最終的檢驗(yàn)過程中,能夠輕松便捷的掌握作者的各方面信息,有效防治出現(xiàn)原創(chuàng)者不明的現(xiàn)象;第二,對(duì)于軟件數(shù)字水印程序來說,剽竊的程序是極為容易忽略的一個(gè)部分,因?yàn)樵闯绦蚺c非法程序二者之間存在著非常大的不同,因此,想要確定軟件內(nèi)部是否存在非法或剽竊模塊,就要對(duì)數(shù)字水印技術(shù)進(jìn)行有效應(yīng)用;第三,計(jì)算機(jī)軟件的通病則是極易被非法復(fù)制,因此有些不法分子依靠計(jì)算機(jī)這一漏洞獲取經(jīng)濟(jì)利益,在這種情況下,需要應(yīng)用軟件數(shù)字水印技術(shù)與用戶緊密、隱秘的聯(lián)系起來,在此基礎(chǔ)上進(jìn)行追蹤非法拷貝源頭。
軟件數(shù)字水印技術(shù)在具有優(yōu)勢(shì)的同時(shí),還存在著某些弊端,比如軟件數(shù)字水印技術(shù)分為動(dòng)態(tài)與靜態(tài)兩種,動(dòng)態(tài)軟件數(shù)字水印技術(shù)只能保護(hù)程序的整體性,忽視了程序內(nèi)某一部分的代碼,而靜態(tài)軟件數(shù)字水印技術(shù)在程序算法方面沒有很好的結(jié)構(gòu)性與應(yīng)用性。
三、結(jié)論
綜上所述,Java軟件具有操作簡(jiǎn)單,跨平臺(tái)性較強(qiáng)等特點(diǎn),本文針對(duì)Java軟件保護(hù)技術(shù)中存在的問題以及有效改進(jìn)措施,進(jìn)行了深入分析和探討,并使Java軟件的跨平臺(tái)性發(fā)揮出其最大價(jià)值,同時(shí)具有極強(qiáng)的安全性能,保持了一定的通用性、轉(zhuǎn)換性等,進(jìn)一步推進(jìn)我國(guó)軟件技術(shù)開發(fā)的進(jìn)程。
參考文獻(xiàn):
[1]樊蓉.淺談?dòng)糜贘ava軟件保護(hù)的代碼混淆技術(shù)研究與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2017(07):128-129.
[2]孫小婷.Java軟件保護(hù)技術(shù)研究及實(shí)現(xiàn)探究[J].科技風(fēng),2015(03):238-239.
作者簡(jiǎn)介:
成佳豪(1997-),男,籍貫:河北省定州市,職稱和學(xué)歷:本科,研究方向或?qū)I(yè):軟件工程。