面向可执行程序的代码混淆技术研究与实现

被引量 : 0次 | 上传用户:nimin518
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
反汇编与软件逆向工程技术的不断发展,为面向可执行程序代码的有效分析提供了强大的技术支撑,在较好地解决了二进制代码翻译、程序优化及软件系统安全等方面的疑难问题的同时,也给软件的著作权益保护提出了挑战。面对越来越严重的软件盗版问题,软件开发人员不断提出有效的软件保护方法,在软件盗版造成的经济损失与软件保护带来的成本之间努力做出平衡。代码混淆技术在保证程序语义不变的前提下,通过混淆变换算法将代码结构和控制转移关系转变为难于理解和分析的形式,能够有效阻碍反汇编和逆向工程过程,成为近年来备受关注的软件保护手段。本文以提高软件逆向工程代价,实现软件保护为目标,重点分析与研究了面向可执行程序的代码混淆技术,主要工作包括:一、简要概述了软件逆向工程技术和软件保护的一般方法,包括支持逆向工程的二进制程序分析技术和各类软件保护手段;详细阐述了代码混淆的概念、分类及其混淆变换的有效性评价指标;二、提出了三个面向可执行程序的代码混淆方法。其中,子程序入口与返回地址隐藏方法通过巧妙安排子程序调用与返回指令的目标地址,达到了子程序隐藏的目的;分支跳转指令的混淆变换以程序中的分支跳转指令为目标,通过指令变换达到控制流复杂化的目的;函数粒度的加密混淆变换以子程序代码块为单位进行代码的动态加解密,保证了内存中不出现代码的完全解密时刻,能够有效抵抗基于内存拷贝的攻击;三、详细论述了提出的三个混淆变换方法的原理、技术基础及实现细节,提出了混淆深度的概念并给出了混淆深度的形式化定义,给出了本文的核心方法函数粒度的加密混淆的算法描述;四、设计并实现了一个可执行程序混淆变换框架(Portable Executable obfuscating,简称PEobf),详细阐述了其框架结构,并给出了各模块的功能描述和实现细节;五、给出了PEobf框架的实验实现展示,基于这一框架给出了提出的混淆变换方法的实验结果,并对其有效性和性能做出了分析与评价;
其他文献
<正>2012年12月26日,记者来到位于安庆市宜秀区罗岭镇姥山村的菜子湖,在安庆市菜子湖湿地生态旅游协会理事长王三益带领下,扛上带支架的高倍远视镜,深入菜子湖候鸟栖息核心区
城市群是城市化过程中出现的一种地域空间组织形式,是城市集聚与城市扩散的一种高级现象,已经成为发达国家城市化的重要趋势之一。20世纪80年代以来,随着西部大开发战略的实
温病后痴呆症治疗较为困难。本文就本病的辨证和治疗,结合临证体会,提出了以下辨治大法:(1)辨证立足肝肾阴损,痰瘀滞窍;(2)立法着眼滋补肝肾,祛瘀涤痰;(3)施治注重消补兼施,标本兼顾。文中列举
近年来,交通基础设施在一定程度上有了较大的发展,但瓶颈制约作用仍然存在。目前,售后回租方式作为一种方式灵活、政策限制少的融资手段,对解决交通基础设施发展的资金缺口是
随着我国轿车产业的不断发展、轿车产品同质化和消费者不断成熟,轿车市场竞争日趋激烈,对轿车企业来说,谁能够对不断变化的轿车市场进行快速反应,满足客户需求,谁就能在激烈
公共交通是城市交通的重要组成部分,与人们的生活息息相关。公交调度系统在公共交通中起着十分重要的作用,实现对公交车辆的监控和调度,是保证公共交通正常运作所不可或缺的
工业化的高速发展和城市化进程的加快,使城市热岛效应问题越来越突出。城市森林作为城市生态系统的重要组成部分,在缓解城市热岛效应方面发挥着积极的作用。研究城市森林空间
在高动态环境下,捷联惯导解算会产生不可交换性误差,严重影响了导航系统的精度。设计高性能的捷联导航算法来补偿不可交换性误差,对提高捷联惯性导航系统的导航精度十分有益
试验仔猪选用妊娠45日龄至分娩期间饲喂精氨酸民猪母猪所产7日龄仔猪,共48头,随机分成2组,每组3个重复,每个重复8头仔猪。对照组和试验组分别在基础饲粮水平上添加0、0.8%的
随着我国经济快速发展,目前小微企业对我国国民经济发展已经具有举足轻重的作用,然而对大多数小微企业来说,获得银行资金并不是一件容易的事情。近年来,国家非常关注小微企业