基于壳技术的软件保护方案研究
摘要 | 第4-5页 |
Abstract | 第5-6页 |
第1章 绪论 | 第9-15页 |
1.1 课题的研究背景及意义 | 第9-10页 |
1.2 软件保护研究现状 | 第10-13页 |
1.3 论文的结构安排 | 第13-15页 |
第2章 软件保护相关技术研究 | 第15-25页 |
2.1 PE文件格式 | 第15-19页 |
2.1.1 PE文件总体结构 | 第15-16页 |
2.1.2 PE文件头 | 第16-18页 |
2.1.3 区块 | 第18页 |
2.1.4 输入表 | 第18-19页 |
2.2 PE文件加壳 | 第19-20页 |
2.3 加密算法 | 第20-23页 |
2.3.1 消息摘要算法MD5 | 第21-22页 |
2.3.2 分组加密算法AES | 第22-23页 |
2.4 本章小结 | 第23-25页 |
第3章 软件逆向工程与脱壳技术研究 | 第25-33页 |
3.1 软件逆向工程 | 第25-26页 |
3.2 逆向分析技术 | 第26-29页 |
3.2.1 静态分析 | 第26-28页 |
3.2.2 动态分析 | 第28-29页 |
3.3 脱壳技术 | 第29-31页 |
3.3.1 脱壳概述 | 第29页 |
3.3.2 脱壳步骤 | 第29-31页 |
3.4 本章小结 | 第31-33页 |
第4章 基于壳的软件保护模型 | 第33-43页 |
4.1 壳保护技术缺陷 | 第33-34页 |
4.1.1 壳保护技术缺陷 | 第33页 |
4.1.2 文件完整性校验缺陷 | 第33-34页 |
4.2 序列号保护机制的缺陷 | 第34-35页 |
4.2.1 序列号保护机制缺陷 | 第34页 |
4.2.2 序列号校验攻击实例 | 第34-35页 |
4.3 保护模型的整体架构 | 第35-37页 |
4.4 关键技术研究 | 第37-42页 |
4.4.1 反汇编算法 | 第37-38页 |
4.4.2 反调试技术的应用 | 第38-40页 |
4.4.3 压缩算法的选择 | 第40-41页 |
4.4.4 花指令加密算法研究 | 第41-42页 |
4.5 本章小结 | 第42-43页 |
第5章 保护模型的设计与实现 | 第43-57页 |
5.1 PE文件预处理模块 | 第43-44页 |
5.2 关键代码块定位与分析 | 第44-48页 |
5.2.1 代码段定位 | 第44-45页 |
5.2.2 机器指令解析 | 第45-47页 |
5.2.3 反汇编引擎 | 第47-48页 |
5.3 动态加解密模块设计 | 第48-50页 |
5.4 加壳模块设计 | 第50-54页 |
5.4.1 压缩 | 第50-51页 |
5.4.2 输入表加密 | 第51-52页 |
5.4.3 附加数据的处理 | 第52-53页 |
5.4.4 外壳程序 | 第53页 |
5.4.5 随机花指令加密模块 | 第53-54页 |
5.5 PE文件重构模块 | 第54-55页 |
5.6 本章小结 | 第55-57页 |
第6章 系统测试与分析 | 第57-63页 |
6.1 界面设计 | 第57页 |
6.2 测试内容 | 第57-61页 |
6.3 本章小结 | 第61-63页 |
结论 | 第63-65页 |
致谢 | 第65-67页 |
参考文献 | 第67-69页 |
攻读学位期间取得学术成果 | 第69页 |