基于控制转换的目标代码混淆器的研究与设计

来源 :广东工业大学 | 被引量 : 0次 | 上传用户:amperezh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
反编译和逆向分析技术的发展,提高了对程序代码的分析能力,较好解决了代码移植、程序优化、系统安全等方面的疑难问题,同时也大大降低了软件的安全性。除了各国政府出台保护软件安全的相关法律法规,软件开发人员不断提出好的软件保护方法来保证软件安全。代码混淆技术通过混淆转换算法,提高代码分析和阅读的难度和代价,而控制转换混淆是代码混淆中最重要的技术。   本文在总结常见的软件保护方法和控制流混淆算法基础上,提出了变形花指令混淆转换算法和PE节段动态加密方法,目的是提高逆向分析的难度和阻止反拷贝操作。   为验证算法有效性,进行了变形花指令算法实验。利用代码块间隙来确定可以插入花指令的待选块,应用无条件跳转指令扩充法对指定代码段内的指令进行混淆变换,再应用反条件跳转指令替换法对代码段内条件跳转指令进行变换,最后在代码段中的无条件跳转指令后随机添加花指令。   本文实现了PE动态加密。通过在PE中生成新的节段,将需要加密的重要代码或数据添加到该代码节段中,然后通过内存查找定位到这个段并对其进行加密解密操作。调用保护代码段后,再进行加密还原,防止代码被DUMP出内存进行分析而获得控制信息。   在上述的工作基础上,设计了一个目标代码混淆器。该软件集成了PE格式文件操作、反汇编操作和混淆转换算法操作。开发反汇编器的目的是为了较好翻译转换PE格式的目标代码,提取其控制信息,方便进行控制流混淆操作。所利用到的反汇编算法为线性扫描和递归遍历相结合的混合扫描算法,为提高反汇编结果的正确率,采用线性扫描和递归遍历相结合的混合扫描算法。   本文最后给出了算法实验结果分析,并对本文的研究工作出了总结,算法产生的花指令带有很大的随机性,即使存在一些特征值,但特征值的数量巨大,完全列举所有情况需要巨大的工作量。实验结果显示,文中算法有较好的抗静态分析能力,不易找到特征码而被去花器删除。   在代码混淆方面,采取添加花指令和加密相结合的算法,较好地增强了C/C++编译生成的PE软件代码的安全性,有效的提高了逆向分析的难度,达到了课题研究的预期效果。
其他文献
集群系统在近年来已经逐渐成为并行计算实现载体的主流。随着计算结点性能的不断提高,集群系统的通信性能已经成为影响并行计算性能的一个重要因素。为了使得高性能计算达到
随着因特网和计算机视觉技术的发展,数字图像的产生、存储、分析和传输访问的数量呈指数级增长。全球每天都在不断地产生数以兆字节计数字图像数据,然而这些数据散乱地分布在
实现地形渲染的难点主要在于要给用户展现出真实的地形,并且保证实时性所要求的帧率(至少25FPS)。如果读取地形高度信息后,不进行任何处理直接作为顶点来渲染地形,这种方法在
软件测试是软件开发过程的重要环节,贯穿于软件生命周期的每一个阶段,目的是检验系统是否符合用户需求,尽可能地发现软件产品中存在的缺陷,以保证软件的质量,提高用户满意度
随着计算机网络技术的不断发展,这些技术在给日常生活带来方便的同时,其安全方面的隐患也日益暴露。在保障信息安全的众多技术中,密码技术无疑扮演着举足轻重的角色。图像数
集群系统简单的说就是由各种各样通用的商业化部件通过网络互连的方式组成。集群系统以其高可扩展性、高可用性以及高性价比等优点逐渐成为高性能计算机体系结构的发展趋势。
随着电子商务及手机通讯等嵌入式移动设备的兴起,嵌入式数据库管理系统得到了越来越广泛的应用空间。而通讯技术,软硬件技术的发展,使嵌入式应用技术的应用成为可能。   嵌入
近些年,下一代测序技术获得了突飞猛进的发展,由此产生了越来越多的测序数据。如何处理这些测试数据一直以来都是生物信息学领域的一项重要研究内容,下一代测序技术应用到转
伴随着Internet技术的飞速发展,网上购物逐渐成为人们购物消费的主要方式之一。服装作为人们生活中必不可少的生活用品之一,其网上销售数量一直名列前茅。但是,由于服装自身
学位
移动机器人视觉系统是机器人研究与应用领域的一个重要课题,是实现机器人导航的主要技术之一。本文设计了一种基于无线通信的移动机器人视觉系统。该系统设计为应用于采用上