摘要 | 第1-5页 |
ABSTRACT | 第5-11页 |
第一章 绪论 | 第11-16页 |
·研究意义 | 第11-12页 |
·软件保护的研究现状 | 第12-14页 |
·序列号软件保护机制 | 第12-13页 |
·时间限制保护机制 | 第13页 |
·Key File 保护机制 | 第13页 |
·功能限制保护机制 | 第13-14页 |
·加壳保护机制 | 第14页 |
·论文的主要内容 | 第14-15页 |
·论文的主要结构 | 第15-16页 |
第二章 PE 文件结构 | 第16-29页 |
·PE 文件格式概述 | 第16-17页 |
·PE 文件的总体结构 | 第17-18页 |
·PE 文件格式详解 | 第18-28页 |
·DOS MZ Header 和 DOS Stub | 第18页 |
·PE Header | 第18-20页 |
·Section Table(区块表) | 第20-21页 |
·Sections(区块) | 第21-22页 |
·Import Table(输入表) | 第22-26页 |
·基址重定位 | 第26-28页 |
·本章小结 | 第28-29页 |
第三章 软件加壳与脱壳 | 第29-40页 |
·壳的作用 | 第29-30页 |
·壳的种类 | 第30-34页 |
·压缩壳 | 第30-32页 |
·保护壳 | 第32-34页 |
·工具脱壳 | 第34-35页 |
·手动脱壳 | 第35-39页 |
·壳的类型分析 | 第35-36页 |
·确定入口点 | 第36-38页 |
·根据跨段指令查找入口点 | 第37页 |
·根据堆栈平衡原理查找入口点 | 第37页 |
·根据编译语言特点查找入口点 | 第37-38页 |
·用内存断点查找入口点 | 第38页 |
·抓取内存镜像文件 | 第38页 |
·重建输入表 | 第38-39页 |
·本章小结 | 第39-40页 |
第四章 反逆向工程的研究与实现 | 第40-56页 |
·常用逆向分析工具介绍 | 第40-45页 |
·OllyDbg 调试器 | 第41-42页 |
·SoftICE 调试器 | 第42-43页 |
·W32DASM | 第43页 |
·IDA Pro | 第43-45页 |
·反调试技术的原理与实现 | 第45-48页 |
·反SoftICE 调试的原理与实现 | 第45-46页 |
·反OllyDbg 调试的原理与实现 | 第46-47页 |
·基于TLS 的反调试的原理 | 第47-48页 |
·反分析技术的原理与实现 | 第48-54页 |
·花指令原理与实现 | 第48-49页 |
·代码混淆的原理 | 第49-50页 |
·加密、压缩区块的原理与实现 | 第50-51页 |
·虚拟机保护的原理 | 第51页 |
·SMC 的原理与实现 | 第51-52页 |
·SHE 原理与实现 | 第52-53页 |
·伪装技术的原理与实现 | 第53-54页 |
·反 DUMP 技术的研究 | 第54-55页 |
·本章小结 | 第55-56页 |
第五章 壳的设计与实现 | 第56-78页 |
·总体设计方案 | 第56-59页 |
·编程语言的选择 | 第56页 |
·压缩算法的选择 | 第56-57页 |
·软件的系统构架 | 第57-59页 |
·外壳程序设计 | 第59-68页 |
·PE 文件读取 | 第59-61页 |
·区块的压缩 | 第61-63页 |
·特殊数据的处理 | 第63-64页 |
·输入表的构建 | 第64-68页 |
·虚拟机保护的原理与实现 | 第68-72页 |
·虚拟CPU 环境 | 第69-70页 |
·伪指令 | 第70页 |
·编译器 | 第70-71页 |
·解释器 | 第71-72页 |
·外壳程序的添加 | 第72-73页 |
·界面设计 | 第73-74页 |
·加壳软件的可靠性测试 | 第74-77页 |
·本章小结 | 第77-78页 |
第六章 结论 | 第78-80页 |
·总结 | 第78页 |
·本文的创新之处 | 第78-79页 |
·未来研究工作展及望 | 第79-80页 |
致谢 | 第80-81页 |
参考文献 | 第81-83页 |
在校期间研究成果 | 第83-84页 |