[发明专利]一种函数信息获取方法、计算设备及存储介质有效

专利信息
申请号: 202210118521.1 申请日: 2022-02-08
公开(公告)号: CN114168489B 公开(公告)日: 2022-12-30
发明(设计)人: 刘昌辉;杨堃 申请(专利权)人: 统信软件技术有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京瀚方律师事务所 11774 代理人: 姜莹
地址: 100176 北京市北京经济*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 函数 信息 获取 方法 计算 设备 存储 介质
【说明书】:

发明公开了一种函数信息获取方法、计算设备及存储介质,并包括步骤:对应用的代码进行扫描,以确定所述应用要在第三方库中调用的库函数,从而确定需要追踪第三方库中的哪些库函数,接着获取库函数的入口地址,将在所获取的入口地址处的指令替换为跳转指令,以便在执行与库函数定义的方法时,执行跳转指令而跳转去执行获取函数信息的信息获取方法。本发明通过将库函数对应方法的入口地址的库函数的指令替换为跳转指令,实现了在运行库函数之前,对运行库函数的过程进行捕获,执行本发明的信息获取函数对应的信息获取方法,实现了轻量级的对函数信息的获取,不需要重复构建复杂代码,提高了对第三方库中函数信息的获取效率。

技术领域

本发明涉及操作系统领域,特别涉及一种函数信息获取方法、计算设备及存储介质。

背景技术

随着计算机技术的发展,人们在对计算设备中运行的应用进行开发时,需要对所开发的应用进行调试。对于自己编写的软件或者来自于开源社区的软件代码,因为有源代码,可以通过在源代码中增加打印信息输出到控制台窗口或者通过调试工具设置断点进行单步调试来观察程序中函数的行为。事实上,在软件开发过程中,无可避免地需要引用第三方链接库来实现程序的功能。例如,在微软视窗操作系统程序开发中,需要大量引用来自于动态链接库程序。这些引用的第三方库通常都是二进制形式,缺少源码,只能够获取函数声明信息,那么就很难像调试普通程序一样获取程序在进入这些第三方代码之后的踪迹和行为。

现有技术中对于调试无源码的第三方库代码的通常方法是增加一个上位程序进行拦截,即在调用的第三方库与应用程序之间增加一个上位程序,该上位程序的函数接口与第三方库中的导出函数完全相同,可以在每次调用到相关第三方库函数的入口(api)时先经过上位程序的打印,因此,可以知晓应用程序在整个运行过程中所调用的api,了解其运行踪迹。但这种方式增加中间代码的代码量往往非常巨大,一个动态链接中往往包含了大量的导出函数,利用添加上位函数的方法进行拦截需要对所有的导出函数进行包装,这些上位函数都需要重新实现,并且需要生成一个备份的导出表。在程序调用大量库函数时会非常耗时和繁琐。

为此,需要一种新的函数信息获取方法。

发明内容

为此,本发明提供一种函数信息获取方法,以力图解决或者至少缓解上面存在的问题。

根据本发明的一个方面,提供一种函数信息获取方法,适于在计算设备中执行,计算设备中包括要执行的应用,应用在执行时调用第三方库提供的库函数,方法包括步骤:对应用的代码进行扫描,以确定应用要在第三方库中调用的库函数;获取库函数的入口地址,将在所获取的入口地址处的指令替换为跳转指令,以便在执行与库函数定义的方法时,执行跳转指令而跳转去执行获取函数信息的信息获取方法;以及在信息获取方法执行之后,执行在库函数的入口地址处被替换的指令,并随后跳转到紧随被替换指令之后的位置处,继续执行库函数对应的方法。

可选地,在根据本发明的方法中,对应用的代码进行扫描,以确定应用要在第三方库中调用的库函数包括步骤:根据应用的代码生成导出函数文件;根据导出函数文件中的函数名确定应用要在第三方库中调用的库函数。

可选地,在根据本发明的方法中,将在所获取的入口地址处的指令替换为跳转指令包括步骤:获取信息获取方法的入口地址;根据信息获取方法的入口地址和执行跳转指令的操作码生成跳转指令;在库函数对应方法的入口地址将库函数所定义方法的指令进行替换为所述跳转指令。

可选地,在根据本发明的方法中,计算设备中还包括内部存储器,在库函数对应方法的入口地址将库函数所定义方法的指令替换为跳转指令包括步骤:根据跳转指令所需的存储空间确定库函数所定义方法中需替换的指令数目;将跳转指令在库函数对应方法的入口地址进行存储,并根据指令数目在内部存储器的其他存储区域存储库函数所定义方法中需替换的指令,以便执行跳转指令所跳转的信息获取方法后,执行库函数所定义方法中需替换的指令。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于统信软件技术有限公司,未经统信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210118521.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top