[发明专利]基于动态链接符号表的ELF文件相似性比对方法在审

专利信息
申请号: 202210639305.1 申请日: 2022-06-07
公开(公告)号: CN114995831A 公开(公告)日: 2022-09-02
发明(设计)人: 陶金龙;冯大成;张建伟;李浩宇;张霄霄;杨波 申请(专利权)人: 北京计算机技术及应用研究所
主分类号: G06F8/52 分类号: G06F8/52
代理公司: 中国兵器工业集团公司专利中心 11011 代理人: 王雪芬
地址: 100854*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 动态 链接 符号 elf 文件 相似性 方法
【权利要求书】:

1.一种基于动态链接符号表的ELF文件相似性比对方法,其特征在于,包括以下步骤:

第一步,解析ELF文件,为提取动态链接符号表准备条件;

第二步,从ELF文件中提取动态链接符号表;

第三步,比对动态链接符号表;

第四步,基于第三步的比对结果,计算ELF文件的相似度。

2.如权利要求1所述的方法,其特征在于,第一步中,依据ELF文件链接视图,按照顺序对ELF头、节头表、节进行解析。

3.如权利要求2所述的方法,其特征在于,第一步的解析过程具体如下:

(1)解析ELF头

所有ELF文件都以ELF头开始,ELF头的数据结构为Elf32_Ehdr,具体数据结构定义的数组e_ident数组中,e_ident数组前4个字节ident[0]、ident[1]、ident[2]、ident[3]依次为0x7F、'E'、'L'、'F',标识目标文件为ELF文件;e_ident数组第5个字节ident[4]标识ELF文件位宽;e_ident数组中第5个字节之后的e_shoff、e_shnum、e_shentsize分别记录ELF文件中节头表的偏移量、节头表中表项数量和每个表项的大小;

(2)解析节头表

通过解析ELF头,已获得ELF文件中节头表的偏移量e_shoff、节头表中表项数量e_shnum和每个表项的大小e_shentsize,这为节头表解析提供了定位信息,即明确了从什么位置开始解析节头表;

ELF文件中节头表采用Elf32_Shdr结构体进行数据存储,Elf32_Shdr具体数据结构定义中,sh_name成员并非节名称,而是节名称的索引,通过该索引可以从“节头字符串表节”获得节真正名称;sh_type成员标识节类型,包括字符串表SHT_STRTAB、符号表SHT_SYMTAB、动态链接符号表SHT_DYNSYM,不同类型的节需要不同的解析方式;sh_size、sh_entsize成员分别表示节大小和节表项的大小,据此可计算出节中表项的数量,从而可以对节按照表项继续解析;sh_size、sh_entsize成员仅对符号表SHT_SYMTAB、动态链接符号表SHT_DYNSYM这些类型节有效;

(3)解析SHT_STRTAB节

SHT_STRTAB节即字符串表节,通过解析节头表,可获得SHT_STRTAB节偏移量sh_offset,节大小sh_size,从而为SHT_STRTAB节解析提供定位信息,即明确了从什么位置开始解析字符串表节;

ELF文件中可包含多个字符串表,包括名称为“.strtab”的字符串表和名称为“.dynstr”的动态链接字符串表,动态链接调用接口名称统一存放在名称为“.dynstr”的动态链接字符串表中;SHT_DYNSYM节中动态链接符号表并不存放动态链接调用接口真正名称,仅存放动态链接调用接口名称在动态链接字符串表中的索引;

字符串表包含以'\0'结尾的字符序列,称为字符串;字符串表第一个字节定义为一个空字符串,即'\0';字符串表的最后一个字节也定义为'\0',以确保所有的字符串都以'\0'结尾,索引为0的字符串在不同的上下文中可表示无名或者名字为'\0'的字符串;

对于SHT_DYNSYM节来说,可通过st_name指定的索引从字符串表中读取从st_name开始到'\0'截止的字符串;

(4)解析SHT_DYNSYM节

SHT_DYNSYM节存放动态链接符号表;通过解析节头表,已获得了SHT_DYNSYM节偏移量sh_offset,节大小sh_size,以及节中单个符号项的大小sh_entsize,这不仅为SHT_DYNSYM节解析提供了定位信息,同时也可通过“sh_size/sh_entsize”计算出节中符号项的数量;

SHT_DYNSYM节中符号项的数据结构按照ELF文件位宽分成Elf32_Sym和Elf64_Sym,具体结构定义中,SHT_DYNSYM节中符号项针对ELF文件的不同位宽,数据解析顺序也不相同,其中,st_name表示符号项名称在动态链接字符串表中的索引;st_info低4位表示符号绑定,用于确定链接可见性和行为;st_info高4位表示符号类型。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210639305.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top