[发明专利]函数的调用方法、装置及终端在审
| 申请号: | 201511021199.7 | 申请日: | 2015-12-30 |
| 公开(公告)号: | CN105677435A | 公开(公告)日: | 2016-06-15 |
| 发明(设计)人: | 闫昊;张晓亮;张建春 | 申请(专利权)人: | 小米科技有限责任公司 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/32 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 函数 调用 方法 装置 终端 | ||
技术领域
本公开涉及网络通信技术领域,尤其涉及一种函数的调用方法、装置及 终端。
背景技术
相关技术中,用户在使用某些平台的c/c++动态数据库的时候,能够获 知公有函数的实现方式,但是用户没有权限获知私有函数的实现方式,也就 不能够使用数据库中的私有函数,这就给用户带来了不便。
发明内容
为克服相关技术中存在的问题,本公开提供了一种函数的调用方法及装 置。
根据本公开实施例的第一方面,提供一种函数的调用方法,包括:
对动态库进行反汇编,得到汇编代码;
从所述汇编代码中获取公有函数的第一偏移地址及待调用的私有函数的 第二偏移地址;
基于所述公有函数的第一地址、所述第一偏移地址和所述第二偏移地址 确定所述私有函数的第二地址;
基于所述第二地址对所述私有函数进行调用。
可选的,所述基于所述公有函数的第一地址、所述第一偏移地址和所述 第二偏移地址确定所述私有函数的第二地址之前,所述方法还包括:
运行所述动态库,得到所述公有函数的第一地址。
可选的,所述从所述汇编代码中获取公有函数的第一偏移地址及待调用 的私有函数的第二偏移地址,包括:
基于所述公有函数和所述待调用的私有函数的名称,分别从所述汇编代 码中查找所述公有函数的第一偏移地址,以及所述私有函数的第二偏移地址。
可选的,所述基于所述公有函数的第一地址、所述第一偏移地址和所述 第二偏移地址确定所述私有函数的第二地址,包括:
基于所述公有函数的第一地址及所述公有函数的第一偏移地址,确定所 述动态库的库函数的起始地址;
基于所述库函数的起始地址和所述私有函数的第二偏移地址,确定所述 私有函数的第二地址。
根据本公开实施例的第二方面,提供一种函数的调用装置,包括:
反汇编模块,被配置为对动态库进行反汇编,得到汇编代码;
获取模块,被配置为从所述汇编代码中获取公有函数的第一偏移地址及 待调用的私有函数的第二偏移地址;
确定模块,被配置为基于所述公有函数的第一地址、所述第一偏移地址 和所述第二偏移地址确定所述私有函数的第二地址;
调用模块,被配置为基于所述第二地址对所述私有函数进行调用。
可选的,所述装置还包括:
运行模块,被配置为运行所述动态库,得到所述公有函数的第一地址。
可选的,所述获取模块包括:
查找子模块,被配置为基于所述公有函数和所述待调用的私有函数的名 称,分别从所述汇编代码中查找所述公有函数的第一偏移地址,以及所述私 有函数的第二偏移地址。
可选的,所述确定模块包括:
第一确定子模块,被配置为基于所述公有函数的第一地址及所述公有函 数的第一偏移地址,确定所述动态库的库函数的起始地址;
第二确定子模块,被配置为基于所述库函数的起始地址和所述私有函数 的第二偏移地址,确定所述私有函数的第二地址。
根据本公开实施例的第三方面,提供一种终端,包括:处理器;用于存 储处理器可执行指令的存储器;其中,所述处理器被配置为:
对动态库进行反汇编,得到汇编代码;
从所述汇编代码中获取公有函数的第一偏移地址及待调用的私有函数的 第二偏移地址;
基于所述公有函数的第一地址、所述第一偏移地址和所述第二偏移地址 确定所述私有函数的第二地址;
基于所述第二地址对所述私有函数进行调用。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开中终端通过对动态库进行反汇编,从得到的汇编代码中获取公有 函数及私有函数的偏移地址,再根据公有函数的第一地址就能够计算出私有 函数的第二地址,从而基于第二地址能够实现对私有函数的调用,使得终端 的程序更具有健壮性。
本公开中终端可以通过运行动态库得到公有函数的第一地址。
本公开中终端可以基于公有函数的名称及私有函数的名称去汇编代码中 查找公有函数的第一偏移地址及私有函数的第二偏移地址,以便计算私有函 数的第二地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511021199.7/2.html,转载请声明来源钻瓜专利网。





