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页 |