咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于变形编译器的软件保护技术研究 收藏
基于变形编译器的软件保护技术研究

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

作     者:张艺峰 

作者单位:电子科技大学 

学位级别:硕士

导师姓名:张小松

授予年度:2015年

学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:代码混淆 目标文件 逆向工程 加密 膨胀 

摘      要:软件逆向工程技术的不断发展,带来了程序分析方法的不断进步。程序分析有助于人们理解软件构成,解决软件漏洞查找以及进行程序细节分析等。但是程序分析技术[1]也是一把双刃剑,它在给人们带来工作上便利的同时,也在软件安全方面埋下了隐患。优秀的程序分析技术能够让二进制程序的秘密一览无余,让程序里包含的算法以及思想都无偿的被分析者占有。更有甚者,攻击者利用程序分析技术分析软件中存在的漏洞,利用漏洞进行危害软件作者或者特定使用人群的行为。作为应对程序分析的最有效的方法——代码混淆技术也应运而生,并取得了长足的发展。在软件保护技术中,代码混淆技术能够在不改变程序原来行为的前提下,有效的增加程序分析的工作量,通过提升程序分析的代价来阻碍程序分析带来的危害。本文以目前研究最热的源代码混淆技术为基础,借鉴了跨平台代码混淆算法,在分析了Windows平台目标文件与可执行文件的特点之后,创新的提出了对目标文件进行代码混淆处理的技术。主要的研究工作如下:首先,分析研究了目标文件在代码混淆方面的特点,主要特点包含以下几点:1、目标文件结构单一,容易分析;2、目标文件包含的很多编译特性在链接后会自动清除;3、目标文件多使用相对偏移量计算地址,有更高的灵活性。在以上分析之后以目标文件分析为基础,研究了使用哪种反汇编算法、如何提取目标文件信息以及设计最终的混淆目标等。其次,研究了主要的四种混淆加密技术,包括常规指令膨胀加密、系统函数随机编译、字符串加解密、控制转移指令扭曲。四种技术分别从冗余核心代码、误导分析方向、隐藏敏感字符和打乱程序控制流方面提供软件保护。同时,四种技术能够独立工作,并通过相互协同、交叉引用的方式提供更加复杂的混淆效果,并通过自由迭代的方式成倍的提升混淆效果。然后,本文在以上研究的基础上,实现了二进制混淆原型系统的实现,通过一定的实验样本测试,验证了上述四种混淆技术在软件保护方面的效果。并结合实验数据给出了混淆技术在功能和性能方面的测试报告。最后,对现阶段的研究工作做了总结,并针对目前研究不足给出了进一步改进方法的展望。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分