基于变形编译器的软件保护技术研究

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:chen17983
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件逆向工程技术的不断发展,带来了程序分析方法的不断进步。程序分析有助于人们理解软件构成,解决软件漏洞查找以及进行程序细节分析等。但是程序分析技术[1]也是一把双刃剑,它在给人们带来工作上便利的同时,也在软件安全方面埋下了隐患。优秀的程序分析技术能够让二进制程序的秘密一览无余,让程序里包含的算法以及思想都无偿的被分析者占有。更有甚者,攻击者利用程序分析技术分析软件中存在的漏洞,利用漏洞进行危害软件作者或者特定使用人群的行为。作为应对程序分析的最有效的方法——代码混淆技术也应运而生,并取得了长足的发展。在软件保护技术中,代码混淆技术能够在不改变程序原来行为的前提下,有效的增加程序分析的工作量,通过提升程序分析的代价来阻碍程序分析带来的危害。本文以目前研究最热的源代码混淆技术为基础,借鉴了跨平台代码混淆算法,在分析了Windows平台目标文件与可执行文件的特点之后,创新的提出了对目标文件进行代码混淆处理的技术。主要的研究工作如下:首先,分析研究了目标文件在代码混淆方面的特点,主要特点包含以下几点:1、目标文件结构单一,容易分析;2、目标文件包含的很多编译特性在链接后会自动清除;3、目标文件多使用相对偏移量计算地址,有更高的灵活性。在以上分析之后以目标文件分析为基础,研究了使用哪种反汇编算法、如何提取目标文件信息以及设计最终的混淆目标等。其次,研究了主要的四种混淆加密技术,包括常规指令膨胀加密、系统函数随机编译、字符串加解密、控制转移指令扭曲。四种技术分别从冗余核心代码、误导分析方向、隐藏敏感字符和打乱程序控制流方面提供软件保护。同时,四种技术能够独立工作,并通过相互协同、交叉引用的方式提供更加复杂的混淆效果,并通过自由迭代的方式成倍的提升混淆效果。然后,本文在以上研究的基础上,实现了二进制混淆原型系统的实现,通过一定的实验样本测试,验证了上述四种混淆技术在软件保护方面的效果。并结合实验数据给出了混淆技术在功能和性能方面的测试报告。最后,对现阶段的研究工作做了总结,并针对目前研究不足给出了进一步改进方法的展望。
其他文献
近年来,在钢铁材质质量检测的研究领域,电磁无损检测方法以其非破坏性和简便快速的优点取得了大量成果,然而对于钢材及其制品的混料、硬度和裂纹质量检测还存在许多难题。如
随着新的普适计算和环境智能应用的出现,各种不同形态的轻量级计算设备中嵌入数据库技术的需求也日益强烈。同时,半导体工业正在封装越来越多的晶体管到单一硅片上,使实现比
本文研究背景是基于OpenGL的闪电模拟仿真,主要从仿真模型的建立和开发实现两方面,讨论了本课题在研究和开发过程中解决的主要问题以及使用的主要技术。本文首先简单的介绍了
由于移动计算网络具有移动性、快速搭建性、自治性、拓扑结构易变性和对等性等特点,使其具有广泛的应用前景。与分布式计算相比,移动计算系统通讯带宽窄、移动结点存储容量有
随着World Wide Web(WWW)的爆炸式增长,Hidden Web中蕴含了海量的可供访问的信息,并且还在迅速地增长。这些信息需要通过查询接口在线访问其后端的Web数据库才能得到。尽管丰
Web的流行直接导致了基于B/S结构的Web系统在软件中所占的比重越来越大,使用越来越广泛。但是伴随着Web系统的迅速增多和它们的飞速发展,系统也出现了诸多预想不到的问题,包
群集智能(Swarm Intelligence)是为了模仿自然、社会等复杂系统中表现出的群集智能行为而产生的一种新兴的演化计算技术,它为解决复杂、约束、非线性和多极小等全局优化问题
图像感兴趣区域提取技术是图像处理领域的研究热点之一,借助感兴趣区域提取技术,可以对图像数据压缩进行指导,可以帮助观察者对图像进行理解,还适用于在小屏幕上进行图像显示
多相流系统是一个非常复杂的非线性系统,各相间的界面效应和速度都不同,导致多相流的参数检测难度很大,电容层析成像技术(ECT)是基于电容敏感原理的过程层析成像技术(PT)。该
TCP是目前Internet中使用最广泛的端到端传输协议。近年来出现了许多新TCP拥塞控制算法,如慢启动,拥塞避免,快速重传和快速恢复,大大提高了网络传输的性能。由于密集波分复用