2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩106頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、隨著計算機(jī)網(wǎng)絡(luò)和分布式系統(tǒng)的發(fā)展,對軟件的平臺無關(guān)性、可移植性提出了更高、更迫切的要求。在這種情況下,Java平臺產(chǎn)生了,提出了一種解決軟件的可移植性和平臺無關(guān)性的方案。但是由于Java虛擬機(jī)指令系統(tǒng)過于簡單,且class文件包含了大量可以被反編譯利用的信息,Java較以前的C、C++等要容易反編譯。這樣一來軟件開發(fā)者的知識產(chǎn)權(quán)得不到保障。為解決這一問題,許多專家、學(xué)者提出對Java字節(jié)碼進(jìn)行混淆的方案,并且進(jìn)行了大量的研究。這些研究呈

2、現(xiàn)以下特點(diǎn):1.對程序的控制流研究較多,而對程序的數(shù)據(jù)流研究較少;2.很多控制流混淆算法或者是利用不透明謂詞進(jìn)行混淆或者是利用Java語言和JⅧ在設(shè)計上的間隙進(jìn)行混淆。這些混淆方法難抵擋動態(tài)攻擊和模式匹配的反混淆攻擊。 針對以上情況,本文對以前的控制流分析算法、Java虛擬機(jī)指令系統(tǒng)的特點(diǎn)和Java字節(jié)碼驗(yàn)證過程進(jìn)行了分析和比較,并且結(jié)合對Java字節(jié)碼進(jìn)行混淆這一目標(biāo),把類型模擬引入控制流分析過程中。這樣一來不僅得到Java方

3、法的控制流圖,而且得到大量基本塊的執(zhí)行環(huán)境的信息,如:棧、局部變量等。這些信息對混淆十分有用,為Java控制流混淆奠定了堅實(shí)的基礎(chǔ)。本文在對控制流圖的可歸約性、等價性、結(jié)點(diǎn)分裂變換等的研究基礎(chǔ)上,運(yùn)用可歸約流圖的性質(zhì)和判定,提出了基于不透明謂詞的大三角形構(gòu)造、圈交叉、if和switch交叉、循環(huán)和switch交叉等控制流混淆算法。這些算法破壞了原Java方法控制流圖的可歸約性。同時本文也給出了部分已有的控制流混淆算法是否破壞原Java方

4、法控制流圖的可歸約性的判定。針對不透明謂詞難抵擋動態(tài)攻擊這一弱點(diǎn),本文提出了利用“垃圾代碼"進(jìn)行控制流混淆的思路,并且在這一思路的基礎(chǔ)上給出“分支垃圾代碼”和“循環(huán)垃圾代碼”兩個具體應(yīng)用。 針對數(shù)據(jù)流混淆中判定某個局部變量在程序的某個基本塊中是否可引用或者可被賦值的問題,本文結(jié)合已有的求控制流圖的必經(jīng)結(jié)點(diǎn)算法,提出了下列兩個算法: 1.求任意圖的兩個結(jié)點(diǎn)之間的所有路徑的必經(jīng)結(jié)點(diǎn)的算法。 2.圖中任意兩個結(jié)點(diǎn)之間的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論