首页> 中文学位 >基于壳技术的软件保护方案研究
【6h】

基于壳技术的软件保护方案研究

代理获取

目录

声明

摘要

第1章 绪论

1.1 课题的研究背景及意义

1.2 软件保护研究现状

1.3 论文的结构安排

第2章 软件保护相关技术研究

2.1 PE文件格式

2.1.1 PE文件总体结构

2.1.2 PE文件头

2.1.3 区块

2.1.4 输入表

2.2 PE文件加壳

2.3 加密算法

2.3.1 消息摘要算法MD5

2.3.2 分组加密算法AES

2.4 本章小结

第3章 软件逆向工程与脱壳技术研究

3.1 软件逆向工程

3.2 逆向分析技术

3.2.1 静态分析

3.2.2 动态分析

3.3 脱壳技术

3.3.1 脱壳概述

3.3.2 脱壳步骤

3.4 本章小结

第4章 基于壳的软件保护模型

4.1 壳保护技术缺陷

4.1.1 壳保护技术缺陷

4.1.2 文件完整性校验缺陷

4.2 序列号保护机制的缺陷

4.2.1 序列号保护机制缺陷

4.2.2 序列号校验攻击实例

4.3 保护模型的整体架构

4.4 关键技术研究

4.4.1 反汇编算法

4.4.2 反调试技术的应用

4.4.3 压缩算法的选择

4.4.4 花指令加密算法研究

4.5 本章小结

第5章 保护模型的设计与实现

5.1 PE文件预处理模块

5.2关键代码块定位与分析

5.2.1 代码段定位

5.2.2 机器指令解析

5.2.3 反汇编引擎

5.3 动态加解密模块设计

5.4 加壳模块设计

5.4.1 压缩

5.4.2 输入表加密

5.4.3 附加数据的处理

5.4.4 外壳程序

5.4.5 随机花指令加密模块

5.5 PE文件重构模块

5.6 本章小结

第6章 系统测试与分析

6.1 界面设计

6.2 测试内容

6.3 本章小结

结论

致谢

参考文献

攻读学位期间取得学术成果

展开▼

摘要

随着计算机技术和网络技术的飞速发展,软件在人们的生活工作中扮演了越来越重要的角色,已经深入到社会的各个领域。软件作为信息传递的载体,其中包含着许多重要的隐私信息,面临着越来越严峻的安全威胁。程序逆向、静态分析反汇编代码,动态调试跟踪定位程序的关键代码段等常见的软件攻击方法常被恶意攻击者利用,PEiD、OllyDbg、IDA Pro等常见的破解调试工具也随处可得。攻击者通过逆向技术,窃取程序中的核心算法或通过非法修改关键代码段的信息,暴力破解程序,篡改软件版权信息,并通过复制拷贝、网络共享等方式对破解后的软件进行传播,严重损害了开发者的利益。因此,设计出一种更加安全可靠的软件保护方案对整个行业的发展具有重大的意义。
  首先,本文对当前主流的软件保护相关技术进行介绍,重点分析了保护对象PE文件格式以及加壳原理;其次,深入分析了软件逆向工程原理,详细说明了对程序进行逆向的两种方式静态分析与动态分析,以及脱壳技术的原理。目前多数开发者直接使用现成的壳进行软件保护,然而保护的效果却不尽人意,其主要缺陷有:1.外壳与原程序的联系不够紧密,加壳信息明显,很容易被脱去外壳;2.对程序加密往往是以区块为单位,在外壳程序执行完后,代码和数据最终在内存中是以明文形式存放的,很容易被Dump;3.外壳模块完整性校验过于简单,很容易被绕过。针对现有壳保护软件的不足,本文提出了一个新的软件保护模型,该模型把壳、动态加解密、序列号保护三者巧妙地结合在一起,通过互相的牵制来起到保护软件的作用。该模型通过对程序中涉及到核心技术的关键代码段进行分块,依次计算各个基本块的哈希值,前一个基本块的哈希值与正确的序列号异或后作为下一个基本块的加解密密钥,同时将控制程序加解密的控制器放在外壳模块中。序列号错误、关键代码段被篡改或者程序被脱壳三者中只要有一种情况出现,软件都将不能正常运行。
  该保护系统采用模块化设计,可以分为预处理模块、反汇编模块、动态加解密模块、加壳保护模块、花指令加密模块。在加壳主程序中使用APLIB压缩引擎来对区块、资源进行压缩,输入表进行变形转储到外壳中。为了提高外壳程序的安全性,加入了各种反调试技术,能够抵御常见调试器加载程序。
  最后,通过C++面对对象语言对设计的保护系统进行了实现,并通过多方面来测试保护系统的性能。经过实验证明,该系统保护后的软件能够极大的提高自我的保护能力,具备静态反汇编、动态反调试、以及防止恶意篡改程序的特点。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号