樊蓉
摘要:如今,計算機以及互聯(lián)網(wǎng)技術已經(jīng)給人們的生活、工作等方方面面帶來了巨大的變革,讓我們的日常生活和工作方式變得更加便利便捷,但是計算機等技術在帶來便捷的同時,也出現(xiàn)了信息泄露等問題,使得知識產(chǎn)權保護遇到了更大的難關。本文主要闡述了代碼混淆技術、Java軟件等相關概念,對Java軟件保護的代碼混淆技術研究與實現(xiàn)進行了深入的分析和探討,以供借鑒和參考。
關鍵詞:Java軟件;代碼混淆技術;效果
中圖分類號:TP311.53 文獻標識碼:A 文章編號:1007-9416(2017)07-0128-02
Java是一種計算機編程語言,它不同于復雜難懂的C++語言,而是一種既繼承了C++編程語言的優(yōu)點,又具有操作簡便、功能強大等獨特優(yōu)點的編程語言,也因為Java語言的這一優(yōu)勢,被廣泛的應用到計算機編程中去[1]。代碼混淆技術是一種新興的信息保護方式,在Java軟件中應用代碼混淆技術可以使該軟件變得更加復雜,同時還可以大大的提高Java軟件的抗反編譯能力,從而提高信息的安全性。
1 代碼混淆技術概念及分類
代碼混淆技術是指通過對計算機編程語言的基本構成成分代碼這一元素進行混淆,增強代碼的復雜性和可辨識性,從而起到對計算機編程軟件進行保護的作用[2]。具體來說,就是運用一些與源代碼相似或者是類似的代碼,來對源代碼進行替換,使代碼軟件不能夠被輕易的反編譯,從而大大的提高計算機編程軟件的抗反編譯能力,以達到對編譯軟件的保護目的。代碼混淆技術不是唯一固定的,它也會根據(jù)反編譯對象的不同來采取不同的混淆技術。但不論是那種代碼混淆技術,其最終的目的都是為了增加編程軟件的復雜性,使其不能夠被別人或者是相關破解工具輕易的破解。
2 Java軟件概述及面臨的問題
Java軟件是一種不同于傳統(tǒng)編程軟件的一種新興編程軟件,因其簡便性所以在如今已經(jīng)實現(xiàn)了大面積的應用。在對Java語言軟件開發(fā)時,運用了多設備進行開發(fā),因此也就為其能夠在多種平臺和機器上被操作奠定了基礎。而Java軟件的開發(fā)可以說是革新了軟件開發(fā)業(yè),它的出現(xiàn),極大的帶動了計算機信息技術的飛速跨越式發(fā)展[3]。
Java軟件的運行過程實際上就是對Java源代碼進行編譯的過程,而源代碼又是一項程序中最為重要的信息。通過對代碼的反編譯就可以從中獲取到編譯者的相關重要信息,且Java語言利用的是一種不同于二進制文件的中間代碼文件,反編譯更簡單,因此也就出現(xiàn)了眾多對程序進行反編譯的現(xiàn)象,造成程序開發(fā)人員重要開發(fā)信息的泄露,使得知識產(chǎn)權保護成為水中月,畫中餅。對Java編程軟件的保護也就成為了社會各界廣泛關注的熱點話題。
3 用于Java軟件保護的代碼混淆技術研究與實現(xiàn)
3.1 軟件保護總體目標設定
就目前來看,大部分的混淆技術都較簡單,抗反編譯能力尚且不足,只能夠用簡單的代碼來替換Java軟件源代碼,雖然成本較低,但是讓一些反編譯程序稍加努力還是能夠實現(xiàn)對軟件的破解;而有些利用復雜代碼的混淆技術,又具有高成本性的特點,所以起到的抗攻擊效果也并不樂觀。軟件保護總體目標應該是用最少的成本實現(xiàn)對軟件的最佳保護,因此經(jīng)濟適用性是混淆技術應該遵循的基本原則。在設計混淆技術時,應該要盡可能的維持程序的原語義,同時利用最少的成本來實現(xiàn)最佳的抗反編譯效果,從而實現(xiàn)對Java軟件的高效便捷保護目的。
3.2 JIRO系統(tǒng)結構的構建
JIRO系統(tǒng)是一種只是針對Java軟件的保護系統(tǒng),在其它編程軟件的保護上不具有適用性。通過對JIRO系統(tǒng)模塊化的構建,不僅僅可以使各部分之間相互獨立運作,而且在必要時,還可以實現(xiàn)各部分之間的有序耦合。一般來說,JIRO系統(tǒng)包括用戶界面、操控界面等模塊。在JIRO系統(tǒng)中,標識符重命名是這一系統(tǒng)的核心部分,它可以獲取到用戶輸入到計算機中的信息,然后對這些信息進行重新命名,從而達到混淆視聽,保護軟件源代碼的目的。這種模塊化的運作系統(tǒng)在計算機中既獨立運行,各司其職,又可以相互協(xié)作,相互影響,最終實現(xiàn)對Java軟件系統(tǒng)的保護。
3.3 各個模塊的設計及實現(xiàn)
(1)進一步優(yōu)化軟件操作環(huán)境。良好的環(huán)境是確保JIRO系統(tǒng)能夠正常運作,最大程度的發(fā)揮自身作用的前提條件。因此,在進行JIRO系統(tǒng)模塊化設計時,首先要營造出該系統(tǒng)良好的運作環(huán)境。如SWT Designer v7.6.0等。
(2)優(yōu)化用戶界面。用戶界面是用戶與系統(tǒng)之間溝通交流的窗口,起著重要的連接作用,要想實現(xiàn)用戶對Java軟件源代碼的混淆,用戶就必須要先在用戶界面輸入相關命令,系統(tǒng)才能夠據(jù)此做出判斷和反應。用戶界面主要包括主界面、幫助和關于這三項內容組成。用戶可以通過主界面中的輸入輸出框對想要的文件進行瀏覽,確定要混淆的文件,通過下達相關指令,即可實現(xiàn)對文件的混淆。
4 JIRO混淆系統(tǒng)應用效果分析
JIRO混淆系統(tǒng)運用標識符重命名混淆技術能夠實現(xiàn)對混淆文件的獨一無二的命名,從而大大的提高了混淆的準確性。且經(jīng)過該系統(tǒng)對程序文件進行混淆后,混淆文件比之前的源文件更加復雜難懂,從而極大的提高了Java軟件的抗反編譯的能力。
5 結語
Java軟件如今已經(jīng)在眾多領域實現(xiàn)了廣泛使用,因此其重要性也日益凸顯。在當前復雜的信息環(huán)境下,對Java軟件也提出了更高的挑戰(zhàn),如何加強Java軟件的安全性,提高對其保護,是我們的當務之急。本文通過對代碼混淆技術的研究,以及其在Java軟件保護中的應用,提出了提高Java軟件安全性,提高其信息保護程度的切實可行的措施,希望能夠通過我們的研究,讓Java軟件在將來計算機中的應用能夠發(fā)揮出更大的作用。
參考文獻
[1]陳晗.用于Java軟件保護的代碼混淆技術研究與實現(xiàn)[J].信息通信,2016,02:94-95.
[2]趙旭.Java軟件加密方法的應用分析[J].電子技術與軟件工程,2016,07:210.
[3]戴仲政.基于腳本引擎的惡意網(wǎng)頁檢測系統(tǒng)[D].華南理工大學,2014,05.endprint