Mach-O文件代碼保護(hù)方案
發(fā)布時間:2017-08-28 01:21
本文關(guān)鍵詞:Mach-O文件代碼保護(hù)方案
更多相關(guān)文章: 代碼保護(hù) 加殼 反調(diào)試 文件加密 iOS
【摘要】:iOS系統(tǒng)中增加了很多安全機制來保證可執(zhí)行文件不被逆向分析。但是由于iOS越獄技術(shù)的發(fā)展,系統(tǒng)越獄后就可以動態(tài)地調(diào)試和修改可執(zhí)行文件,分析軟件關(guān)鍵流程,竊取核心算法,這直接威脅了軟件的代碼安全和知識產(chǎn)權(quán)安全。軟件加殼保護(hù)是代碼保護(hù)常用的方法,加殼程序用來保護(hù)代碼安全具有良好的靈活性,并且加殼程序還可以使用其他的保護(hù)手段來保護(hù)代碼的安全。在Windows系統(tǒng)下PE文件的代碼保護(hù)的研究已經(jīng)有很多的成果,代碼保護(hù)方法主要有可執(zhí)行文件加殼技術(shù)、反調(diào)試技術(shù)和代碼混淆技術(shù)。目前已經(jīng)實現(xiàn)了基于加殼混淆方法的代碼保護(hù)方案,但是基于iOS系統(tǒng),針對Mach-O文件的代碼保護(hù)還沒有得到很好的研究。文章針對當(dāng)前iOS系統(tǒng)代碼保護(hù)技術(shù)的滯后性,從代碼保護(hù)、代碼加密技術(shù)和反調(diào)試技術(shù)入手,分析了iOS的安全機制以及越獄iOS系統(tǒng)對代碼安全的新挑戰(zhàn)。通過研究當(dāng)前iOS平臺下代碼篡改,代碼注入,逆向分析等破壞方式,提出了一種基于UPX殼程序的具有加密功能和反調(diào)試功能的代碼保護(hù)方案MFP(Mach-O File Protector)。研究UPX加殼方案,改進(jìn)其stub代碼的功能,通過交叉編譯技術(shù),增加加密和反調(diào)試模塊。使用3DES加密算法和MD5數(shù)字摘要算法,對可執(zhí)行文件的代碼進(jìn)行加密保護(hù)。同時通過偽造Symbol Table,添加KAUTH_SCOPE_PROCESS回調(diào)函數(shù)實現(xiàn)反調(diào)試機制。文章分析了iOS系統(tǒng)的安全性和越獄iOS對代碼安全的挑戰(zhàn)。通過加密和反調(diào)試技術(shù),實現(xiàn)了Mach-O文件的代碼保護(hù)方案。
【關(guān)鍵詞】:代碼保護(hù) 加殼 反調(diào)試 文件加密 iOS
【學(xué)位授予單位】:北京理工大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2015
【分類號】:TP316;TP309
【目錄】:
- 摘要5-6
- Abstract6-9
- 第1章 緒論9-14
- 1.1 課題研究背景9-11
- 1.2 研究內(nèi)容11-12
- 1.3 論文組織結(jié)構(gòu)12-14
- 第2章 iOS系統(tǒng)架構(gòu)和安全機制14-22
- 2.1 iOS系統(tǒng)的安全性14
- 2.2 iOS的系統(tǒng)架構(gòu)14-15
- 2.3 iOS安全機制15-18
- 2.3.1 安全沙箱機制15
- 2.3.2 簽名認(rèn)證機制15-16
- 2.3.3 地址隨機化機制16-17
- 2.3.4 數(shù)據(jù)保護(hù)機制17-18
- 2.4 iOS越獄機制分析18-20
- 2.4.1 緩沖區(qū)溢出18-19
- 2.4.2 越獄機制19-20
- 2.5 越獄后代碼保護(hù)的必要性20-21
- 2.6 本章小結(jié)21-22
- 第3章 代碼保護(hù)技術(shù)和軟件調(diào)試技術(shù)22-33
- 3.1 代碼保護(hù)技術(shù)22-27
- 3.1.1 代碼混淆技術(shù)22-24
- 3.1.2 數(shù)字簽名24-26
- 3.1.3 可執(zhí)行文件加殼保護(hù)26
- 3.1.4 動態(tài)監(jiān)測代碼26-27
- 3.2 反調(diào)試技術(shù)27-31
- 3.2.1 抗靜態(tài)分析技術(shù)27-28
- 3.2.2 抗動態(tài)調(diào)試技術(shù)28-31
- 3.3 本章小結(jié)31-33
- 第4章 Mach-O代碼保護(hù)設(shè)計方案33-42
- 4.1 加密算法33-35
- 4.1.1 加密算法的選擇33-34
- 4.1.2 Mach-O加密算法實現(xiàn)34-35
- 4.1.3 加密算法安全性分析35
- 4.2 加殼模塊35-37
- 4.2.1 UPX加殼流程36-37
- 4.3 Mach-O文件代碼安全挑戰(zhàn)37-41
- 4.3.1 Mach-O可執(zhí)行文件38-39
- 4.3.2 添加代碼到Mach-O可執(zhí)行程序39-40
- 4.3.3 Mach-O文件編譯40-41
- 4.4 本章小結(jié)41-42
- 第5章 Mach-O代碼保護(hù)方案實現(xiàn)42-58
- 5.1 問題提出42
- 5.2 開發(fā)環(huán)境42-43
- 5.3 MFP代碼保護(hù)方案43-52
- 5.3.1 反調(diào)試模塊43-45
- 5.3.2 加殼流程和stub代碼生成細(xì)節(jié)45-47
- 5.3.3 UPX加殼程序47-48
- 5.3.4 生成Mach-O頭信息48-49
- 5.3.5 LZW壓縮算法49-51
- 5.3.6 MFP加密算法51
- 5.3.7 stub代碼生成51
- 5.3.8 添加殼信息51-52
- 5.4 效果分析52-56
- 5.5 本章小結(jié)56-58
- 結(jié)束語58-59
- 參考文獻(xiàn)59-61
- 攻讀學(xué)位期間發(fā)表論文與研究成果清單61-62
- 致謝62
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前1條
1 李媛媛;;基于面向方面編程的J2EE源代碼保護(hù)[J];計算機工程;2010年08期
,本文編號:746690
本文鏈接:http://sikaile.net/falvlunwen/zhishichanquanfa/746690.html
最近更新
教材專著