| 摘要 | 第1-4页 |
| Abstract | 第4-5页 |
| 目录 | 第5-8页 |
| 第一章 前言 | 第8-16页 |
| ·研究意义 | 第8-9页 |
| ·研究背景 | 第9-11页 |
| ·基于软件的保护方法 | 第9-11页 |
| ·基于硬件的保护方法 | 第11页 |
| ·国内外研究现状 | 第11-14页 |
| ·本文研究内容 | 第14页 |
| ·论文组织结构 | 第14-16页 |
| 第二章 基于虚拟机的软件保护技术 | 第16-34页 |
| ·软件攻击模型 | 第16-20页 |
| ·攻击利益模型 | 第16-17页 |
| ·软件逆向工程 | 第17-19页 |
| ·软件攻击方法 | 第19-20页 |
| ·软件保护技术 | 第20-23页 |
| ·代码混淆 | 第21页 |
| ·篡改抵制 | 第21-22页 |
| ·软件水印 | 第22-23页 |
| ·虚拟机技术 | 第23-27页 |
| ·虚拟化概述 | 第23-24页 |
| ·虚拟机简介 | 第24-27页 |
| ·软件多样性 | 第27-29页 |
| ·软件多样性概念 | 第27-28页 |
| ·软件保护多样性 | 第28-29页 |
| ·软件保护虚拟机 | 第29-33页 |
| ·"壳"与虚拟机 | 第29-30页 |
| ·软件保护虚拟机 | 第30-31页 |
| ·虚拟机软件保护模型 | 第31-33页 |
| ·小结 | 第33-34页 |
| 第三章 软件保护虚拟机的研究与设计 | 第34-48页 |
| ·软件保护虚拟机 | 第34-39页 |
| ·虚拟机基础 | 第34-36页 |
| ·软件保护虚拟机设计 | 第36-37页 |
| ·软件保护虚拟机结构 | 第37-38页 |
| ·软件保护虚拟机工作机制 | 第38-39页 |
| ·SPVM系统结构 | 第39页 |
| ·虚拟机指令集设计 | 第39-42页 |
| ·指令集架构 | 第39-40页 |
| ·P-code执行机制 | 第40页 |
| ·指令集设计 | 第40-41页 |
| ·P-code设计 | 第41-42页 |
| ·虚拟机编译器 | 第42-45页 |
| ·编译原理 | 第42-43页 |
| ·虚拟机编译器 | 第43-44页 |
| ·编译器设计 | 第44-45页 |
| ·虚拟机解释器 | 第45-47页 |
| ·编译与解释 | 第45页 |
| ·字节码解释 | 第45-46页 |
| ·SPVM解释器 | 第46-47页 |
| ·小结 | 第47-48页 |
| 第四章 软件保护虚拟机VMDefender的设计与实现 | 第48-62页 |
| ·系统设计目标 | 第48-49页 |
| ·防逆向工程 | 第48页 |
| ·防盗版 | 第48-49页 |
| ·防篡改 | 第49页 |
| ·VMDefender系统结构 | 第49-50页 |
| ·VMDefender工作流程 | 第50-52页 |
| ·主要模块设计与实现 | 第52-59页 |
| ·开发环境及相关工具 | 第52-54页 |
| ·虚拟机构造 | 第54页 |
| ·P-code的构造 | 第54-55页 |
| ·待保护块标记 | 第55-56页 |
| ·虚拟机编译器 | 第56-57页 |
| ·虚拟机解释器 | 第57-59页 |
| ·试验结果与分析 | 第59-61页 |
| ·静态分析 | 第59-60页 |
| ·动态分析 | 第60-61页 |
| ·小结 | 第61-62页 |
| 第五章 总结与展望 | 第62-64页 |
| ·总结 | 第62-63页 |
| ·展望 | 第63-64页 |
| 参考文献 | 第64-67页 |
| 攻读硕士学位期间取得的学术成果 | 第67-68页 |
| 致谢 | 第68-69页 |