Mach-O文件代码保护方案

发布时间:2017-08-28 01:21

  本文关键词:Mach-O文件代码保护方案


  更多相关文章: 代码保护 加壳 反调试 文件加密 iOS


【摘要】:iOS系统中增加了很多安全机制来保证可执行文件不被逆向分析。但是由于iOS越狱技术的发展,系统越狱后就可以动态地调试和修改可执行文件,分析软件关键流程,窃取核心算法,这直接威胁了软件的代码安全和知识产权安全。软件加壳保护是代码保护常用的方法,加壳程序用来保护代码安全具有良好的灵活性,并且加壳程序还可以使用其他的保护手段来保护代码的安全。在Windows系统下PE文件的代码保护的研究已经有很多的成果,代码保护方法主要有可执行文件加壳技术、反调试技术和代码混淆技术。目前已经实现了基于加壳混淆方法的代码保护方案,但是基于iOS系统,针对Mach-O文件的代码保护还没有得到很好的研究。文章针对当前iOS系统代码保护技术的滞后性,从代码保护、代码加密技术和反调试技术入手,分析了iOS的安全机制以及越狱iOS系统对代码安全的新挑战。通过研究当前iOS平台下代码篡改,代码注入,逆向分析等破坏方式,提出了一种基于UPX壳程序的具有加密功能和反调试功能的代码保护方案MFP(Mach-O File Protector)。研究UPX加壳方案,改进其stub代码的功能,通过交叉编译技术,增加加密和反调试模块。使用3DES加密算法和MD5数字摘要算法,对可执行文件的代码进行加密保护。同时通过伪造Symbol Table,添加KAUTH_SCOPE_PROCESS回调函数实现反调试机制。文章分析了iOS系统的安全性和越狱iOS对代码安全的挑战。通过加密和反调试技术,实现了Mach-O文件的代码保护方案。
【关键词】:代码保护 加壳 反调试 文件加密 iOS
【学位授予单位】:北京理工大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP316;TP309
【目录】:
  • 摘要5-6
  • Abstract6-9
  • 第1章 绪论9-14
  • 1.1 课题研究背景9-11
  • 1.2 研究内容11-12
  • 1.3 论文组织结构12-14
  • 第2章 iOS系统架构和安全机制14-22
  • 2.1 iOS系统的安全性14
  • 2.2 iOS的系统架构14-15
  • 2.3 iOS安全机制15-18
  • 2.3.1 安全沙箱机制15
  • 2.3.2 签名认证机制15-16
  • 2.3.3 地址随机化机制16-17
  • 2.3.4 数据保护机制17-18
  • 2.4 iOS越狱机制分析18-20
  • 2.4.1 缓冲区溢出18-19
  • 2.4.2 越狱机制19-20
  • 2.5 越狱后代码保护的必要性20-21
  • 2.6 本章小结21-22
  • 第3章 代码保护技术和软件调试技术22-33
  • 3.1 代码保护技术22-27
  • 3.1.1 代码混淆技术22-24
  • 3.1.2 数字签名24-26
  • 3.1.3 可执行文件加壳保护26
  • 3.1.4 动态监测代码26-27
  • 3.2 反调试技术27-31
  • 3.2.1 抗静态分析技术27-28
  • 3.2.2 抗动态调试技术28-31
  • 3.3 本章小结31-33
  • 第4章 Mach-O代码保护设计方案33-42
  • 4.1 加密算法33-35
  • 4.1.1 加密算法的选择33-34
  • 4.1.2 Mach-O加密算法实现34-35
  • 4.1.3 加密算法安全性分析35
  • 4.2 加壳模块35-37
  • 4.2.1 UPX加壳流程36-37
  • 4.3 Mach-O文件代码安全挑战37-41
  • 4.3.1 Mach-O可执行文件38-39
  • 4.3.2 添加代码到Mach-O可执行程序39-40
  • 4.3.3 Mach-O文件编译40-41
  • 4.4 本章小结41-42
  • 第5章 Mach-O代码保护方案实现42-58
  • 5.1 问题提出42
  • 5.2 开发环境42-43
  • 5.3 MFP代码保护方案43-52
  • 5.3.1 反调试模块43-45
  • 5.3.2 加壳流程和stub代码生成细节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 本章小结56-58
  • 结束语58-59
  • 参考文献59-61
  • 攻读学位期间发表论文与研究成果清单61-62
  • 致谢62

【参考文献】

中国期刊全文数据库 前1条

1 李媛媛;;基于面向方面编程的J2EE源代码保护[J];计算机工程;2010年08期



本文编号:746690

资料下载
论文发表

本文链接:https://www.wllwen.com/falvlunwen/zhishichanquanfa/746690.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户58292***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com