[发明专利]函数的调用方法、装置及终端在审
| 申请号: | 201511021199.7 | 申请日: | 2015-12-30 |
| 公开(公告)号: | CN105677435A | 公开(公告)日: | 2016-06-15 |
| 发明(设计)人: | 闫昊;张晓亮;张建春 | 申请(专利权)人: | 小米科技有限责任公司 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/32 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 函数 调用 方法 装置 终端 | ||
1.一种函数的调用方法,其特征在于,包括:
对动态库进行反汇编,得到汇编代码;
从所述汇编代码中获取公有函数的第一偏移地址及待调用的私有函数的 第二偏移地址;
基于所述公有函数的第一地址、所述第一偏移地址和所述第二偏移地址 确定所述私有函数的第二地址;
基于所述第二地址对所述私有函数进行调用。
2.根据权利要求1所述的方法,其特征在于,所述基于所述公有函数的 第一地址、所述第一偏移地址和所述第二偏移地址确定所述私有函数的第二 地址之前,所述方法还包括:
运行所述动态库,得到所述公有函数的第一地址。
3.根据权利要求1所述的方法,其特征在于,所述从所述汇编代码中获 取公有函数的第一偏移地址及待调用的私有函数的第二偏移地址,包括:
基于所述公有函数和所述待调用的私有函数的名称,分别从所述汇编代 码中查找所述公有函数的第一偏移地址,以及所述私有函数的第二偏移地址。
4.根据权利要求3所述的方法,其特征在于,所述基于所述公有函数的 第一地址、所述第一偏移地址和所述第二偏移地址确定所述私有函数的第二 地址,包括:
基于所述公有函数的第一地址及所述公有函数的第一偏移地址,确定所 述动态库的库函数的起始地址;
基于所述库函数的起始地址和所述私有函数的第二偏移地址,确定所述 私有函数的第二地址。
5.一种函数的调用装置,其特征在于,包括:
反汇编模块,被配置为对动态库进行反汇编,得到汇编代码;
获取模块,被配置为从所述汇编代码中获取公有函数的第一偏移地址及 待调用的私有函数的第二偏移地址;
确定模块,被配置为基于所述公有函数的第一地址、所述第一偏移地址 和所述第二偏移地址确定所述私有函数的第二地址;
调用模块,被配置为基于所述第二地址对所述私有函数进行调用。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
运行模块,被配置为运行所述动态库,得到所述公有函数的第一地址。
7.根据权利要求5所述的装置,其特征在于,所述获取模块包括:
查找子模块,被配置为基于所述公有函数和所述待调用的私有函数的名 称,分别从所述汇编代码中查找所述公有函数的第一偏移地址,以及所述私 有函数的第二偏移地址。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
第一确定子模块,被配置为基于所述公有函数的第一地址及所述公有函 数的第一偏移地址,确定所述动态库的库函数的起始地址;
第二确定子模块,被配置为基于所述库函数的起始地址和所述私有函数 的第二偏移地址,确定所述私有函数的第二地址。
9.一种终端,其特征在于,包括:处理器;用于存储处理器可执行指令 的存储器;其中,所述处理器被配置为:
对动态库进行反汇编,得到汇编代码;
从所述汇编代码中获取公有函数的第一偏移地址及待调用的私有函数的 第二偏移地址;
基于所述公有函数的第一地址、所述第一偏移地址和所述第二偏移地址 确定所述私有函数的第二地址;
基于所述第二地址对所述私有函数进行调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511021199.7/1.html,转载请声明来源钻瓜专利网。





