[发明专利]一种系统库的访问方法、装置以及计算机可读存储介质有效
申请号: | 202010093417.2 | 申请日: | 2020-02-14 |
公开(公告)号: | CN111309396B | 公开(公告)日: | 2023-08-15 |
发明(设计)人: | 朴英敏 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京中知法苑知识产权代理有限公司 11226 | 代理人: | 李明;赵吉阳 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 访问 方法 装置 以及 计算机 可读 存储 介质 | ||
本公开提供了一种系统库的访问方法、装置以及计算机可读存储介质,其中,该方法包括:通过调用系统接口获取应用进程中加载的各动态库的动态库标识和程序头信息;根据待查询符号所属动态库的动态库标识,从获取的各动态库的程序头信息中,查找到所述目标动态库的程序头信息;根据待查询符号对应的用于查询的符号标识,和查找到的所述目标动态库的程序头信息,确定待查询符号的运行地址信息。本公开实施例通过调用系统接口获取各个动态库的动态库标识和程序头信息,结合待查询符号所属动态库标识,获取到该待查询符号所属动态库的程序头信息,进而得到待查询符号的运行地址信息,从而实现对符号的运行地址的自动查找。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种系统库的访问方法、装置以及计算机存储介质。
背景技术
随着智能终端的大规模发展,智能终端的功能也日益完善,智能终端通过安装各种应用软件为用户提供不同的服务。应用软件的开发过程依赖于操作系统,在基于操作系统的应用软件开发过程中,很多应用优化和调试的方案需要依赖一些系统库函数。
然而,随着操作系统的不断更新,操作系统对一些常用接口做了改变。例如,有的操作系统限制了应用动态链接非公开系统库,即原始开发工具(Native Development Kit,NDK)库,极大程度的增加了依赖该操作系统运行的应用软件开发难度。
发明内容
本公开实施例至少提供一种系统库的访问方法、装置以及计算机可读存储介质。
第一方面,本公开实施例提供了一种系统库的访问方法,包括:
通过调用系统接口获取应用进程中加载的各动态库的动态库标识和程序头信息;
根据待查询符号所属目标动态库的动态库标识,从获取的各动态库的程序头信息中,查找到所述目标动态库的程序头信息;
根据所述待查询符号对应的用于查询的符号标识,和查找到的所述目标动态库的程序头信息,确定所述待查询符号的运行地址信息。
在一种可能的实施方式中,根据所述待查询符号的符号标识,和查找到的所述目标动态库的程序头信息,确定所述待查询符号的运行地址信息,包括:
基于查找到的所述目标动态库的程序头信息,计算得到符号运行起始地址信息,和所述目标动态库的动态Dynamic段信息;
基于所述Dynamic段信息,和所述待查询符号的符号标识,确定所述待查询符号的偏移信息;
基于所述符号运行起始地址信息和所述待查询符号的偏移信息,确定所述待查询符号的运行地址信息。
在一种可能的实施方式中,基于所述Dynamic段信息,和所述待查询符号的符号标识,确定所述待查询符号的偏移信息,包括:
基于所述Dynamic段信息,查找到符号表;
基于所述待查询符号的符号标识,从所述符号表中查找到所述待查询符号的偏移信息。
在一种可能的实施方式中,基于所述待查询符号的符号标识,从所述符号表中查找到所述待查询符号的偏移信息,包括:
基于所述Dynamic段信息,查找到哈希表;并基于所述待查询符号的符号标识计算哈希值;
基于所述哈希值从所述哈希表中查找到所述待查询符号的偏移信息在所述符号表中的位置信息,并基于该位置信息,从所述符号表中查找到所述待查询符号的偏移信息。
在一种可能的实施方式中,所述偏移信息包括运行地址偏移信息;
所述基于所述符号运行起始地址信息和所述待查询符号的偏移信息,确定所述待查询符号的运行地址信息,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010093417.2/2.html,转载请声明来源钻瓜专利网。