iOS平台程序动态分析系统的研究与实现
摘要 | 第4-5页 |
ABSTRACT | 第5页 |
第一章 绪论 | 第8-11页 |
1.1 课题背景及意义 | 第8页 |
1.2 此领域的现有成果 | 第8-9页 |
1.3 研究内容 | 第9-10页 |
1.4 论文结构安排 | 第10-11页 |
第二章 相关技术介绍 | 第11-16页 |
2.1 iOS操作系统架构介绍 | 第11-13页 |
2.1.1 Cocoa Touch层 | 第11-12页 |
2.1.2 媒体层 | 第12页 |
2.1.3 Core Services层 | 第12-13页 |
2.1.4 Core OS层 | 第13页 |
2.2 OS X操作系统架构介绍 | 第13-14页 |
2.3 MVC | 第14页 |
2.4 面向切面编程 | 第14-16页 |
第三章 整体设计与方法调用信息截获机制 | 第16-36页 |
3.1 动态分析系统的整体结构 | 第16-18页 |
3.2 运行时方法监视与替换 | 第18-27页 |
3.2.1 方法替换原理 | 第18-25页 |
3.2.2 保持被监测程序正常运行 | 第25-26页 |
3.2.3 方法替换点的选择 | 第26-27页 |
3.3 代理方法的设计 | 第27-33页 |
3.3.1 生成与被监视方法对应的代理方法 | 第27-28页 |
3.3.2 代理方法的类及文件结构 | 第28-30页 |
3.3.3 在代理方法中调用原方法 | 第30-33页 |
3.4 代理方法源代码的生成 | 第33-34页 |
3.4.1 获取待监测方法的原型 | 第33页 |
3.4.2 在OSX端生成文件 | 第33-34页 |
3.5 截获后的信息处理 | 第34-35页 |
3.6 本章小结 | 第35-36页 |
第四章 应用用户界面动态结构分析 | 第36-46页 |
4.1 界面动态结构相关概念的定义 | 第36-37页 |
4.2 iOS界面绘制流程 | 第37-39页 |
4.2.1 界面创建 | 第37-38页 |
4.2.2 布局 | 第38-39页 |
4.2.3 绘制 | 第39页 |
4.2.4 消息循环 | 第39页 |
4.3 界面稳态的识别 | 第39-43页 |
4.3.1 稳态的初步判断 | 第40-41页 |
4.3.2 获取视图树形结构 | 第41-42页 |
4.3.3 依据界面结构相似性进行去重 | 第42-43页 |
4.4 跳转关系图的生成 | 第43-45页 |
4.5 本章小结 | 第45-46页 |
第五章 交互式界面结构展示 | 第46-57页 |
5.1 监视端与展示端的网络连接 | 第46-47页 |
5.2 视图布局三维图的展示 | 第47-54页 |
5.2.1 三维展示方案的选择 | 第48-49页 |
5.2.2 混合型三维变换展示方案 | 第49-52页 |
5.2.3 坐标系转换 | 第52-54页 |
5.3 视图层次结构图的展示 | 第54-56页 |
5.4 本章小结 | 第56-57页 |
第六章 总结与展望 | 第57-58页 |
6.1 论文工作总结 | 第57页 |
6.2 下一步发展方向 | 第57-58页 |
参考文献 | 第58-59页 |
致谢 | 第59页 |