• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于JAVA語言的混淆器設(shè)計模型研究

      2015-05-30 10:48:04彭凱
      中國新通信 2015年12期
      關(guān)鍵詞:Java語言

      彭凱

      【摘要】 在軟件應用當中,代碼混淆技術(shù)是保護軟件安全的一項重要技術(shù),在軟件安全領(lǐng)域當中,具有十分重要的意義,受到了很多軟件開發(fā)企業(yè)的重視。但是,由于其在我國產(chǎn)生的時間較晚,屬于一項新型的技術(shù),因此在很多方面還不夠成熟。因此,本文對基于JAVA語言的混淆器設(shè)計模型及設(shè)計思路進行了研究,進而對主要的設(shè)計模塊進行了分析。

      【關(guān)鍵詞】 JAVA語言 混淆器 設(shè)計模型

      隨著軟件事業(yè)的不斷發(fā)展和應用,產(chǎn)生了很大的利潤,因此逐漸出現(xiàn)了很多盜版軟件,對軟件開發(fā)企業(yè)的利益造成了很大的損害,也影響了軟件產(chǎn)業(yè)的健康發(fā)展。代碼混淆技術(shù)是目前保護軟件版權(quán)的重要技術(shù),它能夠混淆轉(zhuǎn)換源程序,產(chǎn)生性能等價的混淆代碼,使逆向工程的難度增加,對于軟件盜版是一種很有效的打擊手段。

      一、基于JAVA語言混淆器的設(shè)計思路

      1.1防御靜態(tài)分析

      1、設(shè)計混淆。設(shè)計混淆是在外形方面進行混淆,它作為第一道保護軟件的措施,目前已經(jīng)相對成熟。主要方式為改名和刪除操作,以此來混淆轉(zhuǎn)換代碼。2、類結(jié)構(gòu)混淆。類結(jié)構(gòu)混淆要首先融合或分裂軟件的類結(jié)構(gòu),然后隱藏具體的類型,使系統(tǒng)類圖的結(jié)構(gòu)得到破壞,進而對真正的設(shè)計目的進行隱藏,以完成相應的混淆轉(zhuǎn)換。3、類內(nèi)混淆。首先應當隱藏類內(nèi)部的控制流跳轉(zhuǎn),通過類內(nèi)部的方法進行融合,防止調(diào)用重構(gòu)方法。然后進一步縮小粒度,考慮內(nèi)部循環(huán)操作[1]。再加入不透明謂詞在程序控制流當中。最后交換整個方法的控制流,使攻擊者無法理解程序控制流的轉(zhuǎn)換,從而達到保護軟件安全的目的。4、數(shù)據(jù)混淆。在類內(nèi)部方法間和方法內(nèi)完成混淆轉(zhuǎn)換控制流之后,雖然能夠起到有效的軟件保護作用,但是一些重要數(shù)據(jù)仍然顯示存在于程序之中。而軟件盜版者恰恰極為重視這一方面,因此,還需要混淆轉(zhuǎn)換數(shù)據(jù),例如變量重組混淆、數(shù)組重構(gòu)混淆等,將關(guān)鍵性數(shù)據(jù)進行隱藏。5、預防性混淆。預防性混淆的主要目的是為了防止反編譯算、反匯編等方法進行軟件盜版,對這些方法的實際應用進行阻止,以達到對軟件安全的保護。

      1.2防御動態(tài)分析

      防御動態(tài)主要是將一些動態(tài)運行過程中的標記性信息和程序中的調(diào)試信息進行刪除,同時將反跟蹤調(diào)試代碼進行嵌入。不過,在當前的實際應用中,防御動態(tài)分析技術(shù)還缺乏足夠的成熟性。由于它主要是用來對相應程序的運行信息進行分析,而就目前的相關(guān)技術(shù)來說,要實現(xiàn)這一點還存在著很大的困難。因此,防御動態(tài)分析技術(shù)還需要不斷的進行提高和完善,以達到更好的軟件保護效果[2]。

      二、混淆轉(zhuǎn)換系統(tǒng)的設(shè)計

      1、預處理模塊的設(shè)計。在混淆轉(zhuǎn)換系統(tǒng)中,開始運行的是模塊預處理模塊,主要是預先分析源程序代碼,在選擇階段提供相應的信息給混淆轉(zhuǎn)換算法選擇。程序代碼分析技術(shù)是預處理模塊的主要技術(shù),通過預處理模塊的數(shù)據(jù)流程分析、控制流程分析和其它基本分析,源程序會生成JAVA類關(guān)系樹、數(shù)據(jù)流程圖、程序符號表等程序信息,在以后的程序分析中,以這些信息作為主要信息。預處理模塊中包含了數(shù)據(jù)流程、控制流程、基本程序等幾種分析方法,每種分析方法都具有不同的作用,各種方法的合作,共同完成了預處理模塊的設(shè)計[3]。

      2、混淆算法池的設(shè)計。由于軟件的種類很多,因此沒有任何一種混淆算法能夠滿足所有種類軟件的安全要求。對此,應當將幾種混淆算法進行組合,形成混淆算法池,這樣才能有效的對各類軟件的安全進行保護。要進行這樣的設(shè)計,就應當具有一個能夠?qū)Υ罅康幕煜惴ㄟM行管理和儲存的模塊存在于代碼混淆轉(zhuǎn)換系統(tǒng)當中。其中的基本操作對象就是各種混淆算法,混淆算法池的任務是對這些混淆算法進行運用、存儲和管理。

      3、混淆轉(zhuǎn)換執(zhí)行器的設(shè)計。在混淆算法的應用中,混淆轉(zhuǎn)換執(zhí)行器應當具有選擇功能以及排序功能[4]。在混淆轉(zhuǎn)換執(zhí)行器的設(shè)計過程中,需要設(shè)計混淆算法應用模塊和混淆算法選擇模塊。將混淆算法池中選擇的混淆算法和預處理模塊分析處理后的程序信息輸入到混淆轉(zhuǎn)換執(zhí)行器當中,混淆算法選擇模塊對最為合適的混淆算法進行選擇和組合,實現(xiàn)程序的混淆轉(zhuǎn)換。在每次執(zhí)行完混淆算法之后,如果并沒有達到預期的性能要求,將會返回混淆算法應用模塊當中,重新選擇和組合混淆算法進行混淆轉(zhuǎn)換,直到最后達到要求,才會輸出混淆之后的程序信息。

      結(jié)論:在當今社會中,隨著計算機技術(shù)和信息技術(shù)的快速發(fā)展和廣泛應用,軟件產(chǎn)業(yè)在迅速發(fā)展的同時產(chǎn)生了十分可觀的利潤,這就給盜版軟件的出現(xiàn)創(chuàng)造了可能。為此,應當加強對軟件安全的保護,降低盜版軟件帶來的危害?;贘AVA語言的混淆技術(shù)是一種十分有效的技術(shù),本文對其設(shè)計思想及設(shè)計模塊進行了分析,希望能夠推動軟件安全保護的進一步發(fā)展。

      參 考 文 獻

      [1]張寶國. 基于JAVA的代碼混淆研究[D].電子科技大學,2012.

      [2]楊樂. 用于軟件保護的代碼混淆技術(shù)研究[D].江西師范大學,2013.

      [3]李旭. 基于Java語言的操作系統(tǒng)設(shè)計與實現(xiàn)技術(shù)研究[D].國防科學技術(shù)大學,2013.

      [4]李勇. 基于Windows平臺的目標代碼混淆[D].電子科技大學,2012.

      猜你喜歡
      Java語言
      Java語言圖形編程工具的設(shè)計及應用
      科技傳播(2017年4期)2017-04-24 20:20:00
      高職《Java語言程序設(shè)計》課程的“微課”制作與應用研究
      論開閉原則在JAVA程序設(shè)計中的應用
      基于Android平臺的健康醫(yī)療APP設(shè)計與開發(fā)
      大學生創(chuàng)業(yè)平臺設(shè)計與實現(xiàn)
      計算機軟件開發(fā)中的JAVA編程語言分析
      用戶隱私保護之手機密碼保險箱
      異常結(jié)構(gòu)對Java程序分析的影響
      Android手機三軸加速度傳感器使用
      科技資訊(2015年8期)2015-07-02 18:44:39
      基于Java語言的手機軟件開發(fā)技術(shù)分析
      鄂托克前旗| 常宁市| 微山县| 普安县| 扎赉特旗| 曲松县| 普安县| 当涂县| 江西省| 寿光市| 宁乡县| 宁国市| 革吉县| 安达市| 噶尔县| 盐源县| 子洲县| 金平| 磐石市| 龙口市| 宝坻区| 普陀区| 新田县| 定日县| 盐亭县| 社会| 长治市| 清新县| 呼和浩特市| 萨嘎县| 肃宁县| 松溪县| 榆社县| 普洱| 营山县| 唐山市| 太湖县| 罗江县| 衡南县| 即墨市| 天水市|