基于微软COFF平台的中间代码混淆技术研究

来源 :广东工业大学 | 被引量 : 3次 | 上传用户:dkmlyn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
反汇编和反编译等逆向技术的不断发展,对二进制程序代码的分析和理解产生了重大影响,在一定程度上解决了系统漏洞查找、程序代码优化等诸多难题。但是逆向技术的快速发展同时也带来了消极的一面,即全球软件盗版率逐年上升。作为最直接,也是最有效的对抗软件盗版的措施——软件保护技术也得到了长足的发展。在软件保护的研究领域当中,代码混淆技术能够在不改变被保护程序运行行为的前提下,能够有效的提高逆向分析的难度,因而该技术在近年的研究当中受到诸多关注。本文以目前研究最为广泛的基于源代码以及目标代码的代码混淆技术作为研究基础,从这两种代码混淆技术的不足出发,提出了一种新型的,基于微软COFF(Common Object File Format)平台的中间代码混淆技术。主要研究工作如下:首先,将中间代码混淆技术主要分为反汇编,混淆,代码生成三个阶段。针对反汇编阶段,本文提出了针对obj文件(微软平台下的中间代码文件)的反汇编算法。该算法能够在最大程度上提取出obj文件中的代码和数据,同时对符号表中符号进行重定位地址回填,最终反汇编生成语法格式正确的,且能够被正确编译的汇编源文件。其次,对于中间代码混淆的第二个阶段,即代码混淆阶段,本文提出了三种专门针对中间代码的混淆算法,包括敏感指令隐藏算法、等效花指令序列生成算法、指令控制流乱序算法。这三种算法分别从隐藏敏感指令、稀释核心代码、打乱程序控制流程三个不同方面来提供保护。同时三者间能够相互任意组合,并且可通过指定迭代次数来自由控制混淆强度。再次,在上述研究工作的基础上,本文实现了基于微软COFF平台的中间代码混淆系统。该系统集成了obj反汇编模块、中间代码混淆模块、编译链接模块,能够对单个或多个obj文件进行反汇编、混淆,并最终生成能够抵抗逆向分析的可执行程序。随后,针对中间代码混淆系统的功能和性能两方面进行了测试和分析。测试主要分为两部分,第一部分对obj反汇编器进行测试,第二部分中间代码混淆算法进行测试。最后,对现阶段研究工作进行了总结,并针对当前研究成果的种种不足,给出了进一步的改进方法和新的研究目标。
其他文献
随着互联网技术的迅速发展,社会各行各业都在通过网络与外界交互信息,Web信息呈显海量和多元化,并且仍在急剧增长。在越来越多的实际应用需要从Web中抽取有价值的信息加以利
故障诊断是一种利用故障信息之间的逻辑关系和故障机理联合分析而进行故障的辨识与定位的技术。建立合理的诊断模型以及消除诊断过程中的不确定性问题带来的故障扰动,一直是
本文旨在对林分的三维建模方法进行研究,并实现林分生长的可视化系统,为森林资源的可视化模拟和林区的虚拟规划提供应用软件平台、为森林的生产和经营提供有价值的信息和参考
在这个数字信息飞速发展的今天,移动设备也得到快速地普及。以往仅仅输入密码的认证方法极易受到网络钓鱼和按键记录软件的攻击,并且移动设备极易丢失、被窃或者被别的用户使
移动终端设备的迅速发展和普及,使人们通过手机或Pad获取周围信息成为可能。传统的信息获取方式是通过用户输入看到的周围环境中的文字来获得相应结果,而下一代的人机交互将通
借助信息化与嵌入式系统的发展,企业向社会提供种类丰富的服务,这些服务需要建立在大量的嵌入式硬件平台和数目庞大的软件系统之上。在嵌入式系统的运行过程中存在各种侵非法、
虚拟现实技术(Virtual Reality,简称VR)是近些年来高速发展的新兴技术,是对人类有巨大影响的高新技术之一。目前,已被广泛的应用到各个领域,例如,军事、建筑、航天以及医疗和
随着当今信息技术的飞速发展,由此而引起的信息安全问题已经成为人们关注的热点问题,而数据库安全问题是信息安全的一个重要方面。数据库安全技术在社会的各个方面得到了广泛的
随着信息技术的迅速发展,大量的数据不断涌现,不可避免的会引发质量问题,数据清洗是提高数据质量的重要手段,而相似重复记录检测是数据清洗研究的关键技术,因此对相似重复记录检测
失效检测是分布式系统中实现高可用性的关键技术和组件之一,同时也是可靠性通信、失效恢复、动态重启、集群管理等功能的基础,在网格计算、集群管理、通信协议、物联网、云计