基于虚拟机的软件动态保护系统的设计与实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
缩略语对照表 | 第11-14页 |
第一章 绪论 | 第14-20页 |
1.1 背景 | 第14页 |
1.2 软件保护研究现状 | 第14-19页 |
1.2.1 现有的软件保护概述 | 第15-17页 |
1.2.2 国内外研究发展状况 | 第17-19页 |
1.3 论文的主要工作和结构 | 第19-20页 |
第二章 软件安全威胁和软件保护 | 第20-30页 |
2.1 软件安全威胁 | 第20-24页 |
2.1.1 软件安全威胁模型 | 第20-21页 |
2.1.2 软件攻击方法 | 第21-22页 |
2.1.3 逆向工程概述 | 第22-24页 |
2.2 软件保护措施 | 第24-27页 |
2.2.1 代码混淆 | 第24-25页 |
2.2.2 软件防篡改 | 第25-26页 |
2.2.3 软件水印 | 第26-27页 |
2.3 虚拟机保护 | 第27-29页 |
2.3.1 虚拟化概述 | 第27页 |
2.3.2 虚拟机简介 | 第27-28页 |
2.3.3 基于虚拟机的软件保护 | 第28-29页 |
2.4 本章小结 | 第29-30页 |
第三章 虚拟机软件保护相关技术 | 第30-40页 |
3.1 目标文件格式 | 第30-32页 |
3.1.1 COFF文件格式 | 第30页 |
3.1.2 COFF数据结构 | 第30-32页 |
3.2 指令寻址方式 | 第32-34页 |
3.2.1 直接寻址方式 | 第33页 |
3.2.2 间接寻址方式 | 第33-34页 |
3.2.3 立即数寻址方式 | 第34页 |
3.3 虚拟机指令解释器 | 第34-38页 |
3.3.1 指令的分派 | 第34-36页 |
3.3.2 字节码的编译与解释 | 第36-37页 |
3.3.3 指令的执行流程 | 第37-38页 |
3.4 本章小结 | 第38-40页 |
第四章 基于虚拟机的软件保护系统的设计与实现 | 第40-64页 |
4.1 系统设计思路 | 第40-41页 |
4.2 系统结构 | 第41-43页 |
4.3 系统工作流程 | 第43-45页 |
4.4 主要模块设计与实现 | 第45-54页 |
4.4.1 初始化模块 | 第45-46页 |
4.4.2 加载模块 | 第46-48页 |
4.4.3 分派模块 | 第48-51页 |
4.4.4 解释执行模块 | 第51-54页 |
4.5 指令的测试 | 第54-55页 |
4.5.1 测试目的 | 第54页 |
4.5.2 指令测试方案 | 第54-55页 |
4.5.3 指令测试步骤 | 第55页 |
4.6 实验与结果分析 | 第55-62页 |
4.6.1 实验条件 | 第55-56页 |
4.6.2 测试用例及初始化分析 | 第56-57页 |
4.6.3 字节码文件加载 | 第57-58页 |
4.6.4 实验结果及分析 | 第58-62页 |
4.7 本章小结 | 第62-64页 |
第五章 总结与展望 | 第64-66页 |
5.1 全文工作总结 | 第64-65页 |
5.2 未来工作展望 | 第65-66页 |
参考文献 | 第66-68页 |
致谢 | 第68-70页 |
作者简介 | 第70-71页 |