亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java軟件保護(hù)技術(shù)的應(yīng)用與不足探析

        2013-08-15 00:44:35天津工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與軟件學(xué)院李夢濤
        電子世界 2013年6期
        關(guān)鍵詞:數(shù)字水印源代碼應(yīng)用程序

        天津工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與軟件學(xué)院 李夢濤

        1.Java軟件面臨的風(fēng)險(xiǎn)

        在Java的編譯過程中不將變量和方法等符號的引用轉(zhuǎn)換為數(shù)值引用,也不確定程序執(zhí)行過程中的內(nèi)存狀態(tài),只是將這些符號的引用信息保留在類文件中,由解釋器在運(yùn)行過程中創(chuàng)建內(nèi)存布局,然后再通過查找表來確定一個變量或方法所在的地址。Java源代碼不像C/C++源代碼一樣被編譯成二進(jìn)制機(jī)器碼,編譯Java源代碼會生成中間字節(jié)碼,是一種與平臺無關(guān)的源代碼的表示方式。字節(jié)碼在加載后可以被解釋或編譯,這就產(chǎn)生了高級編程語言到底層機(jī)器代碼之間的兩步變換。是這一中間步驟使得反編譯Java字節(jié)碼得到的源代碼近乎完美。字節(jié)碼攜帶了在源文件中可以找到的所有重要信息。盡管注釋和格式丟失了,但所有的方法、變量和編程邏輯都完好的保留下來,由于字節(jié)碼不表示最底層機(jī)器語言,因此代碼的格式非常類似于源代碼。

        Java類文件不是真正的二進(jìn)制文件,而是一種有格式的中間代碼,這就給反編譯Java類文件提供了可能。反編譯得出的代碼具有很高的質(zhì)量,基本上可以完全反映編寫者的思路,這樣一來,軟件開發(fā)商和軟件開發(fā)人員投入大量精力和艱苦努力編寫的源代碼就很容易被黑客竊取,軟件中包含的重要算法也會泄露出去。因此Java應(yīng)用程序也就毫無保密性可言,Java軟件在知識產(chǎn)權(quán)的保護(hù)上面臨著很大的安全風(fēng)險(xiǎn)。

        2.Java軟件保護(hù)技術(shù)研究

        目前的Java軟件的保護(hù)方法大多是基于單機(jī)應(yīng)用的研究,傳統(tǒng)的Java軟件保護(hù)方法主要有本地化技術(shù)、遠(yuǎn)程接口訪問技術(shù)、軟件數(shù)字水印技術(shù)以及混淆技術(shù),其中軟件數(shù)字水印技術(shù)和混淆技術(shù)是目前研究、應(yīng)用較多,受到廣泛關(guān)注的技術(shù)。

        2.1 本地化技術(shù)

        Java本地化,是指通過將Java應(yīng)用程序編譯成本地應(yīng)用程序來達(dá)到增加反編譯的難度,實(shí)現(xiàn)軟件保護(hù)的方法。實(shí)現(xiàn)步驟如下:首先編寫Java源代碼,然后通過Java編譯器將Java源代碼編譯成Java類文件,最后使用本地編譯工具將Java類文件編譯成二進(jìn)制的本機(jī)應(yīng)用程序。本地化技術(shù)雖然能夠很好的保護(hù)Java類文件,使其達(dá)到與傳統(tǒng)的用C/C++等語言開發(fā)的軟件一樣的安全強(qiáng)度,但也存在一些問題:本地化技術(shù)能夠?yàn)檩^簡單的單戶機(jī)應(yīng)用軟件提供較高水平的保護(hù),其反編譯的難度與傳統(tǒng)的C/C++開發(fā)的軟件相同,但還無法對復(fù)雜的應(yīng)用軟件提供全面的保護(hù),也無法保護(hù)B/S結(jié)構(gòu)的應(yīng)用軟件,此外,要準(zhǔn)確的診斷和定位本機(jī)編譯產(chǎn)生的Java應(yīng)用程序中出現(xiàn)的問題也是十分困難。雖然目前發(fā)展還很不成熟,但卻是Java領(lǐng)域一項(xiàng)廣受關(guān)注的技術(shù)。實(shí)踐和理論己經(jīng)證明,對于某些應(yīng)用軟件和使用環(huán)境,本地化技術(shù)不失為一種優(yōu)秀的解決方案。

        2.2 遠(yuǎn)程接口訪問技術(shù)

        分布式結(jié)構(gòu)是現(xiàn)代軟件開發(fā)中廣泛采用的一種體系結(jié)構(gòu),通常將軟件分為客戶端和服務(wù)器端,核心的功能模塊和業(yè)務(wù)流程都部署在服務(wù)器端為客戶端提供服務(wù),客戶端負(fù)責(zé)采集數(shù)據(jù)、提交服務(wù)請求和與服務(wù)器端通信,這種體系結(jié)構(gòu)的采用可以提高系統(tǒng)的可移植性和互操作性,大幅度降低軟件的開發(fā)成本。遠(yuǎn)程接口訪問技術(shù)能有效地保護(hù)關(guān)鍵的Java類文件,從而達(dá)到軟件保護(hù)的目的。但是這種方式也存在著明顯的局限性和很大的安全隱患:遠(yuǎn)程接口訪問技術(shù)實(shí)際上是將保護(hù)的焦點(diǎn)從關(guān)鍵的類文件轉(zhuǎn)移到了應(yīng)用服務(wù)器上。在這種體系結(jié)構(gòu)下,制定完善的安全機(jī)制來保護(hù)端口至關(guān)重要,因?yàn)槿绻麘?yīng)用服務(wù)器被攻破,那么所有部署在服務(wù)器上的服務(wù)模塊和類文件就完全暴露在攻擊者面前,后果不堪設(shè)想。

        2.3 軟件數(shù)字水印技術(shù)

        軟件數(shù)字水印是眾多數(shù)字水印的一種,它的主要保護(hù)對象是計(jì)算機(jī)代碼,包括源代碼和機(jī)器碼。使得它們免于或者減少遭受非法復(fù)制和非法篡改的危險(xiǎn),由于計(jì)算機(jī)代碼是不能容忍任何錯誤的,因此一些傳統(tǒng)的利用可允許錯誤范圍內(nèi)修改計(jì)算機(jī)程序從而嵌入水印的方法將不適用于計(jì)算機(jī)軟件。軟件數(shù)字水印技術(shù)也存在一些不足,比如:需要插入額外的代碼,需要仔細(xì)地編寫函數(shù)及其調(diào)用,否則容易被有經(jīng)驗(yàn)的反編譯者識破,從而擦除水印。另外,靜態(tài)軟件數(shù)字水印算法的健壯性相對較差,而動態(tài)軟件數(shù)字水印算法雖然具有很好的健壯性,但是它只能保護(hù)整個應(yīng)用程序,而不能保護(hù)某一部分特定的代碼,同時,動態(tài)軟件數(shù)字水印的檢測方式令它的某些應(yīng)用受到限制。目前的水印算法在提供可靠的版權(quán)證明方面或多或少都有一些的尚不完善的地方,因此尋找能提供完全可靠版權(quán)保護(hù)的軟件數(shù)字水印算法成為一個重要的課題。軟件數(shù)字水印的用途主要有以下幾個方面:作為侵犯知識產(chǎn)權(quán)的證據(jù);發(fā)現(xiàn)被剽竊的程序;追蹤非法拷貝的源頭。

        2.4 混淆技術(shù)

        代碼混淆技術(shù)是目前比較成熟和流行的一種軟件保護(hù)技術(shù)。代碼混淆技術(shù)是對類文件進(jìn)行代碼語義、程序流程和邏輯結(jié)構(gòu)的重新組織,代碼混淆并不能增加反編譯的難度,使用反編譯器仍然可以對混淆后的類文件進(jìn)行反編譯,得到代碼,但此時的代碼是經(jīng)混淆后的代碼,可讀性已經(jīng)大大降低,難以從代碼中發(fā)現(xiàn)源代碼的編寫思路和關(guān)鍵算法,從而達(dá)到保護(hù)軟件的目的?;煜且粋€相對安全的過程,可以完整地保留應(yīng)用程序的功能。但某些情況下,混淆程序所執(zhí)行的變換也可能會影響程序的正常運(yùn)行。如:動態(tài)類加載的問題、反射問題、串行化問題和違反命名慣例的問題,這些問題雖然較少出現(xiàn),但卻會影響程序的正常執(zhí)行,另外,混淆技術(shù)的應(yīng)用使得維護(hù)應(yīng)用程序和排除故障變得更加困難,有時甚至是不可能的。Java異常事件處理是隔離有缺陷代碼的一種有效方式,而查看堆棧跟蹤一般可以告訴用戶何處出錯以及出什么錯。為源代碼文件名和行編號保留調(diào)試信息,保證運(yùn)行時可以報(bào)告出錯代碼的準(zhǔn)確位置?;煜绦蚩赡軙惯@一特性并使調(diào)試變得困難,因?yàn)殚_發(fā)人員只能看到被混淆的類名稱而不是真正的類名稱和行編號。

        3.結(jié)束語

        目前己經(jīng)有很多針對Java軟件的保護(hù)方法,在一定程度上起到了保護(hù)Java軟件的作用,但是這些方法都有各自的局限性和不足。Java軟件的知識產(chǎn)權(quán)保護(hù)問題也遭遇了非常大的挑戰(zhàn),許多廠商和個人投入大量人力物力開發(fā)的軟件被侵權(quán),一些重要的算法和創(chuàng)新思想被抄襲。因此,研究針對Java軟件的保護(hù)方法已經(jīng)迫在眉睫。

        [1]申茜,辛?xí)暂x.JAVA軟件面臨的風(fēng)險(xiǎn)及其保護(hù)[J].電腦知識與技術(shù)(學(xué)術(shù)交流),2007(23).

        [2]胡燕京,張健,王海義,劉軼群.軟件保護(hù)研究及其在Java軟件保護(hù)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2007(15).

        [3]楊勇義.基于Android平臺的軟件保護(hù)技術(shù)研究[D].北京郵電大學(xué),2012.

        [4]霍建雷.用于Java軟件保護(hù)的代碼混淆技術(shù)研究與實(shí)現(xiàn)[D].西北大學(xué),2009.

        猜你喜歡
        數(shù)字水印源代碼應(yīng)用程序
        人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
        基于TXL的源代碼插樁技術(shù)研究
        基于網(wǎng)屏編碼的數(shù)字水印技術(shù)
        電子制作(2019年20期)2019-12-04 03:51:30
        刪除Win10中自帶的應(yīng)用程序
        軟件源代碼非公知性司法鑒定方法探析
        揭秘龍湖產(chǎn)品“源代碼”
        基于數(shù)字水印的人臉與聲紋融合識別算法
        基于矩陣分解和混沌置亂的數(shù)字水印算法
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設(shè)應(yīng)用程序下載商店
        久久婷婷综合激情亚洲狠狠| av香港经典三级级 在线| 欧美gv在线观看| 欧洲亚洲综合| 成人做爰视频www| 国产乱子伦精品免费女| 中文字幕乱码中文乱码毛片 | 天堂视频一区二区免费在线观看| 国产午夜视频免费观看| 亚洲成A人A∨久在线观看| 中文字幕人成乱码中文| 在线天堂av一区二区| 天天爽夜夜爽夜夜爽精品视频| 四川丰满妇女毛片四川话| 国产精品成人久久电影| 亚洲啪av永久无码精品放毛片| 免费99精品国产自在在线| 欧美人与动牲交片免费| 在线观看日本一区二区| 久久国产亚洲av高清色| 国产三区二区一区久久| 麻豆国产精品一区二区三区| 久久精品国产99国产精品澳门| 亚洲乱码国产乱码精品精| 国产白袜脚足j棉袜在线观看| 国产精品久久久久久影视| 国产欧美日韩精品a在线观看| 国产真人无遮挡作爱免费视频 | 国产精品泄火熟女| 激情另类小说区图片区视频区| 色爱无码A V 综合区| 国产性感丝袜美女av| 亚洲国产综合人成综合网站| 免费国产在线精品一区| 日本公妇在线观看中文版| 国产98在线 | 免费| 亚洲国产综合专区在线电影| 色偷偷亚洲女人的天堂| 久久精品国产亚洲av一般男女| 免费日本一区二区三区视频| 国内精品卡一卡二卡三|