摘要 | 第1-5页 |
ABSTRACT | 第5-10页 |
1 绪论 | 第10-15页 |
·课题背景和意义 | 第10-11页 |
·传统软件保护技术 | 第11-12页 |
·软件水印技术 | 第12-13页 |
·本文的主要研究工作及文章组织结构 | 第13-14页 |
·本章小结 | 第14-15页 |
2 软件水印技术现状概述 | 第15-26页 |
·软件水印的概念和定义 | 第15-16页 |
·软件水印的分类 | 第16-19页 |
·软件水印的攻击手段 | 第19-20页 |
·现有主要软件水印算法 | 第20-25页 |
·动态图水印 | 第20-22页 |
·动态执行路径水印 | 第22-23页 |
·矢量提取水印 | 第23-24页 |
·其它的软件水印 | 第24-25页 |
·本章小结 | 第25-26页 |
3 PE文件格式及其特点 | 第26-41页 |
·Windows常用的可执行文件格式 | 第26-27页 |
·PE文件结构分析 | 第27-37页 |
·MS-DOS头部/实模式头部 | 第28-30页 |
·实模式残余程序 | 第30页 |
·PE文件头 | 第30-34页 |
·节表 | 第34-36页 |
·节体 | 第36-37页 |
·PE的三种地址和内存的两种数据存储方式 | 第37-38页 |
·PE的三种地址 | 第37-38页 |
·内存的两种数据存储方式 | 第38页 |
·PE文件的内存映射和装载过程 | 第38-40页 |
·本章小结 | 第40-41页 |
4 基于PE可执行文件的软件水印框架模型 | 第41-51页 |
·PE文件中可被利用的冗余字段和空闲区域 | 第41-45页 |
·DOS文件头中的冗余字段 | 第41-42页 |
·PE文件头中的冗余字段 | 第42-43页 |
·节表中可利用的冗余字段 | 第43-44页 |
·PE文件中可以利用的空闲区域 | 第44页 |
·扩充PE文件,构造空闲区域 | 第44-45页 |
·基于PE可执行文件的软件水印框架模型 | 第45-50页 |
·框架模型基本思想和模块组成 | 第45-46页 |
·功能模块介绍 | 第46-50页 |
·本章小结 | 第50-51页 |
5 基于PE可执行文件的软件水印实践 | 第51-75页 |
·PE加壳模块 | 第51-55页 |
·壳的相关知识 | 第51-52页 |
·WINAPI函数介绍 | 第52-53页 |
·本文中的一些具体操作 | 第53-55页 |
·特征提取模块 | 第55-61页 |
·PE文件的特征信息 | 第56页 |
·特征信息浏览 | 第56-58页 |
·DataDirctory域中的Import Table分析 | 第58-61页 |
·完整性验证模块 | 第61-67页 |
·MD5算法原理 | 第62页 |
·MD5算法详细描述 | 第62-64页 |
·MD5算法在本文中的应用 | 第64-67页 |
·水印嵌入和提取模块 | 第67-73页 |
·水印产生 | 第67-68页 |
·水印预处理 | 第68-70页 |
·水印嵌入 | 第70-72页 |
·水印提取 | 第72-73页 |
·算法的性能分析 | 第73-74页 |
·本章小结 | 第74-75页 |
6 结论和展望 | 第75-77页 |
·结论 | 第75-76页 |
·展望 | 第76-77页 |
参考文献 | 第77-83页 |
附录:攻读学位期间的主要学术成果 | 第83-85页 |
致谢 | 第85页 |