[发明专利]一种加载系统动态库的方法和装置有效
申请号: | 201810344656.3 | 申请日: | 2018-04-17 |
公开(公告)号: | CN108595218B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 吴昕 | 申请(专利权)人: | 网宿科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京华智则铭知识产权代理有限公司 11573 | 代理人: | 刘荣鑫 |
地址: | 200030 上海市徐汇区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加载 系统 动态 方法 装置 | ||
1.一种加载系统动态库的方法,其特征在于,所述方法包括:
目标进程劫持dlopen函数,确定内存中dlopen_ext函数的第一逻辑地址,并确定所述dlopen函数的预定调用者的第二逻辑地址;
目标进程将所述第二逻辑地址作为调用参数,根据所述第一逻辑地址调用所述dlopen_ext函数;
所述目标进程通过所述dlopen_ext函数加载所述目标系统动态库;
所述目标进程劫持dlopen函数包括:目标进程扫描其对应的资源映射文件,使用new_dlopen函数替换所述资源映射文件中所有动态库的重定位表所链接的dlopen函数,其中,所述new_dlopen函数预先写入所述目标进程所属应用程序提供的动态库。
2.根据权利要求1所述的方法,其特征在于,所述确定内存中dlopen_ext函数的第一逻辑地址,包括:
目标进程根据其对应的资源映射文件,确定加载器文件的加载基地址;
所述目标进程解析所述加载器文件,获取dlopen_ext函数的地址偏移量;
所述目标进程根据所述加载基地址和所述地址偏移量,确定内存中所述dlopen_ext函数的第一逻辑地址。
3.根据权利要求2所述的方法,其特征在于,所述目标进程解析所述加载器文件,获取dlopen_ext函数的地址偏移量,包括:
目标进程根据加载器文件的ELF头部数据获取节头表;
所述目标进程根据所述节头表查找并读取字符串表和静态符号表;
所述目标进程在所述字符串表中查找dlopen_ext对应的目标符号索引;
所述目标进程将所述静态符号表中所述目标符号索引对应的符号地址作为dlopen_ext函数的地址偏移量。
4.根据权利要求1所述的方法,其特征在于,所述确定所述dlopen函数的预定调用者的第二逻辑地址,包括:
目标进程扫描其对应的资源映射文件,在系统动态库目录下随机选择一个动态库的内存加载地址作为所述第二逻辑地址。
5.根据权利要求1所述的方法,其特征在于,所述确定所述dlopen函数的预定调用者的第二逻辑地址,包括:
当需要调用dlopen函数时,目标进程通过_builtin_return_address编译器内建指令读取dlopen函数的实际调用者地址作为所述第二逻辑地址。
6.根据权利要求1所述的方法,其特征在于,所述目标进程将所述第二逻辑地址作为调用参数,根据所述第一逻辑地址调用dlopen_ext函数,包括:
目标进程获取所述dlopen函数的初始调用参数,将所述初始调用参数和所述第二逻辑地址作为调用参数;
所述目标进程访问所述第一逻辑地址,通过所述调用参数调用dlopen_ext函数。
7.一种加载系统动态库的装置,其特征在于,所述装置包括:
确定模块,用于劫持dlopen函数,确定内存中dlopen_ext函数的第一逻辑地址,并确定所述dlopen函数的预定调用者的第二逻辑地址;目标进程劫持dlopen函数的处理具体包括:扫描其对应的资源映射文件,使用new_dlopen函数替换资源映射文件中所有动态库的重定位表所链接的dlopen函数,其中,所述new_dlopen函数预先写入所述目标进程所属应用程序提供的动态函数库;
调用模块,用于将所述第二逻辑地址作为调用参数,根据所述第一逻辑地址调用所述dlopen_ext函数;
加载模块,用于通过所述dlopen_ext函数加载目标系统动态库。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于:
根据其对应的资源映射文件,确定加载器文件的加载基地址;
解析所述加载器文件,获取dlopen_ext函数的地址偏移量;
根据所述加载基地址和所述地址偏移量,确定内存中所述dlopen_ext函数的第一逻辑地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810344656.3/1.html,转载请声明来源钻瓜专利网。