当前位置:主页 > 科技论文 > 软件论文 >

抗逆向分析的ELF文件保护技术研究与实现

发布时间:2021-01-04 00:43
  随着计算机技术的快速发展和进步,软件被越来越多地应用到各行各业中,几乎已经成为每个人生活中必备的工具。在软件行业快速发展的同时,二进制分析技术和逆向工程技术也在快速的发展和进步,目前已经有成熟的自动化逆向工具集出现,这使得对软件的分析能力和分析效率大大提高,给软件的安全性和版权问题带来了极大威胁。为应对逆向分析给软件带来的安全威胁,目前主要采取的保护措施有:一、加壳,使用强度比较高的虚拟壳或者通过自己编写的生僻壳对目标软件进行加壳保护;二、代码混淆,通过对软件进行代码混淆处理来改变程序的逻辑结构和增加程序的复杂度,以此来增加逆向分析的难度。本文以增强ELF文件抵抗逆向分析的能力为目的,对Linux平台下的ELF文件的加壳和代码混淆技术进行了重点研究,本文的主要工作包括:一、ELF文件加壳技术的研究。首先通过对ELF文件的加载过程和ELF文件常见加壳方法的原理进行分析,总结出常见加壳方法存在的不足,然后提出了一种包含式ELF文件加壳方法。该加壳方法使得ELF文件壳的加密与解密或压缩与解压缩算法能够更加容易进行更换。二、ELF二进制混淆技术的研究。首先对常见二进制混淆技术进行了分析,总结出... 

【文章来源】: 徐应朝 电子科技大学

【文章页数】:80 页

【学位级别】:硕士

【部分图文】:

抗逆向分析的ELF文件保护技术研究与实现


ELF文件头数据结构

程序图,程序,文件头,文件


第二章抗逆向分析的ELF文件保护技术有的时候,ELF文件头中所描述的信息可能与文件的实际信息不符。比如在可执行类型ELF文件中与节头表相关的信息可以随意填写,并不会影响程序的正常运行。2.1.4ELF程序头表ELF程序头表由一系列程序头表项组成,每个表项描述了对应段的相关信息,有多少个表项就表示有多少个程序段。程序头表是程序装载不可或缺的一部分。一个ELF文件包含一个或多个段。ELF文件头中的e_phentsize和e_phnum成员分别指定程序头表的大小和文件包含的段的数量。在32位和64位系统上,ELF程序头分别用结构体ELf32_Phdr和Elf64_Phdr来表示,如图2-3所示和图2-4所示。ELF文件头中成员e_phnum的值表示有多少个这种结构类型的数据。图2-332位ELF程序头结构图2-464位ELF程序头结构可以看出在32位和64位系统上ELF程序头除了成员的大小和布局顺序不一样之外,并没有其它区别。各个成员的含义如下:p_type指明对应段的类型或者如何解析该程序头的信息。p_offset该段相对于文件头部的偏移,以字节为单位。p_vaddr该段在进程地址空间中的起始虚拟地址。如果文件类型为动态链接库则为相9

程序图,程序,文件头,文件


第二章抗逆向分析的ELF文件保护技术有的时候,ELF文件头中所描述的信息可能与文件的实际信息不符。比如在可执行类型ELF文件中与节头表相关的信息可以随意填写,并不会影响程序的正常运行。2.1.4ELF程序头表ELF程序头表由一系列程序头表项组成,每个表项描述了对应段的相关信息,有多少个表项就表示有多少个程序段。程序头表是程序装载不可或缺的一部分。一个ELF文件包含一个或多个段。ELF文件头中的e_phentsize和e_phnum成员分别指定程序头表的大小和文件包含的段的数量。在32位和64位系统上,ELF程序头分别用结构体ELf32_Phdr和Elf64_Phdr来表示,如图2-3所示和图2-4所示。ELF文件头中成员e_phnum的值表示有多少个这种结构类型的数据。图2-332位ELF程序头结构图2-464位ELF程序头结构可以看出在32位和64位系统上ELF程序头除了成员的大小和布局顺序不一样之外,并没有其它区别。各个成员的含义如下:p_type指明对应段的类型或者如何解析该程序头的信息。p_offset该段相对于文件头部的偏移,以字节为单位。p_vaddr该段在进程地址空间中的起始虚拟地址。如果文件类型为动态链接库则为相9

【参考文献】:
期刊论文
[1]Linux系统下改进的软件加壳保护技术[J]. 罗瑜,王钟斐,贾晓云.  电子设计工程. 2012(10)
[2]代码混淆算法有效性评估[J]. 赵玉洁,汤战勇,王妮,房鼎益,顾元祥.  软件学报. 2012(03)
[3]路径模糊:一种有效抵抗符号执行的二进制混淆技术[J]. 贾春福,王志,刘昕,刘昕海.  计算机研究与发展. 2011(11)
[4]基于反动态跟踪的软件加密技术[J]. 殷新华.  电脑学习. 2005(04)

博士论文
[1]代码混淆模型研究[D]. 杨宇波.北京邮电大学 2015
[2]二进制代码路径混淆技术研究[D]. 王志.南开大学 2012

硕士论文
[1]基于虚拟机框架的代码混淆技术研究[D]. 潘雁.战略支援部队信息工程大学 2018
[2]基于ROP技术的二进制混淆技术研究[D]. 郭佳.南京大学 2017
[3]基于白盒密码的动态自修改代码混淆技术研究与实现[D]. 刘菁.电子科技大学 2017
[4]面向可执行程序的代码混淆技术研究与实现[D]. 孙奇.国防科学技术大学 2011
[5]IA-64 Linux平台上的ELF文件加壳技术研究[D]. 蔡智力.西安电子科技大学 2010



本文编号:2955805

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2955805.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户9c3b2***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com