[发明专利]一种函数信息获取方法、计算设备及存储介质有效
| 申请号: | 202210118521.1 | 申请日: | 2022-02-08 |
| 公开(公告)号: | CN114168489B | 公开(公告)日: | 2022-12-30 |
| 发明(设计)人: | 刘昌辉;杨堃 | 申请(专利权)人: | 统信软件技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京瀚方律师事务所 11774 | 代理人: | 姜莹 |
| 地址: | 100176 北京市北京经济*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 函数 信息 获取 方法 计算 设备 存储 介质 | ||
1.一种函数信息获取方法,适于在计算设备中执行,所述计算设备中包括要执行的应用,所述应用在执行时调用第三方库提供的库函数,所述方法包括步骤:
对所述应用的代码进行扫描,以确定所述应用要在所述第三方库中调用的库函数;
获取所述库函数的入口地址,将在所获取的入口地址处的指令替换为跳转指令,以便在执行与所述库函数定义的方法时,执行所述跳转指令而跳转去执行获取函数信息的信息获取方法;以及
在所述信息获取方法执行之后,执行在所述库函数的入口地址处被替换的指令,并随后跳转到紧随所述被替换指令之后的位置处,继续执行所述库函数对应的方法;
其中,所述计算设备中还包括内部存储器,将在所获取的入口地址处的指令替换为跳转指令时,生成跳转指令,并在所述库函数对应方法的入口地址将所述库函数所定义方法的指令替换为所述跳转指令,包括步骤:
确定所述库函数所定义方法中各指令的大小;
根据所述库函数所定义方法中各指令的大小确定所述库函数所定义方法中需替换的指令数目,使所述库函数所定义方法中需替换的指令的总大小大于或等于所述跳转指令的大小;
将所述跳转指令在所述库函数对应方法的入口地址进行存储,并根据所述指令数目在内部存储器的其他存储区域存储所述库函数所定义方法中需替换的指令,以便执行所述跳转指令所跳转的信息获取方法后,执行所述库函数所定义方法中需替换的指令;
所述执行所述跳转指令而跳转去执行获取函数信息的信息获取方法包括步骤:
根据导出函数文件确定库函数的调用方式;
根据所述库函数调用方式确定所述库函数对应方法所使用的寄存器;
根据信息获取方法获取所述寄存器中存储的函数数据,并根据所述函数数据和所述导出函数文件中参数个数确定函数信息;
所述函数信息包括根据寄存器中存储的参数值和参数个数确定的库函数所调用参数个数,及每个参数对应的参数值,所述函数信息适于确定库函数中的参数流转关系以及调用库函数的过程,以及根据调用库函数的过程,模拟与第三方库函数相似功能的调用接口。
2.如权利要求1所述的方法,其中,所述对所述应用的代码进行扫描,以确定所述应用要在所述第三方库中调用的库函数包括步骤:
根据所述应用的代码生成导出函数文件;
根据所述导出函数文件中的函数名确定所述应用要在所述第三方库中调用的库函数。
3.如权利要求1所述的方法,其中,所述生成跳转指令包括步骤:
获取所述信息获取方法的入口地址;
根据所述信息获取方法的入口地址和执行所述跳转指令的操作码生成跳转指令。
4.如权利要求1所述的方法,其中,所述根据所述库函数调用方式确定所述库函数对应方法所使用的寄存器包括步骤:
当所述库函数调用方式为标准调用时,确定所述库函数对应方法所使用的寄存器为栈指针寄存器。
5.如权利要求1-4中任一项所述的方法,其中,所述信息获取方法由信息获取函数定义,所述信息获取函数用于在调用所述库函数时,从对应的寄存器中获取库函数对应的函数信息。
6.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1-5中任一项所述的方法的指令。
7.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于统信软件技术有限公司,未经统信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210118521.1/1.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置





