[发明专利]一种实现函数hook的方法、装置、计算机设备及存储介质在审
申请号: | 202110884864.4 | 申请日: | 2021-08-03 |
公开(公告)号: | CN113590360A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 袁耀辉;曹智轶 | 申请(专利权)人: | 北京博睿宏远数据科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/30 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 陈金忠 |
地址: | 100027 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 函数 hook 方法 装置 计算机 设备 存储 介质 | ||
本发明公开了一种实现函数hook的方法、装置、计算机设备及存储介质。所述方法包括:将目标函数地址与标识所述目标函数地址的标识符一起写入共享内存中,所述目标函数地址从预设前置头文件中获取;在满足hook条件时,从所述共享内存中获取所述目标函数地址和所述标识符;确定所述标识符对应的hook函数;将所述hook函数注入到所述目标函数地址上,实现函数hook。利用该方法,能够有效获取到静态库中的目标函数地址,扩大了hook的范围。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种实现函数hook的方法、装置、计算机设备及存储介质。
背景技术
一般hook函数需要两个变量,一个是函数的声明方式,用以声明定义钩子函数;一个是被hook函数的地址。对于函数的地址获取,现有技术是通过查询动态库的函数导出符号表来获取进程中对应函数的地址,再通过一些hook库将钩子注入。
现有技术中,通过查询动态库导出符号表获取函数地址局限性较大,当需要hook的函数是动态库中其他未导出的函数,或者是静态库函数,或者是应用内部函数,都无法有效获取到对应的函数地址,从而无法进行函数hook。
发明内容
本发明实施例提供了一种实现函数hook的方法、装置、计算机设备及存储介质,能够有效获取到静态库中的目标函数地址,扩大了hook的范围。
第一方面,本发明实施例提供了一种实现函数hook的方法,包括:
将目标函数地址与标识所述目标函数地址的标识符一起写入共享内存中,所述目标函数地址从预设前置头文件中获取;
在满足hook条件时,从所述共享内存中获取所述目标函数地址和所述标识符;
确定所述标识符对应的hook函数;
将所述hook函数注入到所述目标函数地址上,实现函数hook。
第二方面,本发明实施例还提供了一种实现函数hook的装置,包括:
写入模块,用于将目标函数地址与标识所述目标函数地址的标识符一起写入共享内存中,所述目标函数地址从预设前置头文件中获取;
获取模块,用于在满足hook条件时,从所述共享内存中获取所述目标函数地址和所述标识符;
确定模块,用于确定所述标识符对应的hook函数;
注入模块,用于将所述hook函数注入到所述目标函数地址上,实现函数hook。
第三方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器用于实现本发明任意实施例中所述的实现函数hook的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的实现函数hook的方法。
本发明实施例提供了一种实现函数hook的方法、装置、计算机设备及存储介质,首先将目标函数地址与标识所述目标函数地址的标识符一起写入共享内存中,所述目标函数地址从预设前置头文件中获取;然后在满足hook条件时,从所述共享内存中获取所述目标函数地址和所述标识符;之后确定所述标识符对应的hook函数;最后将所述hook函数注入到所述目标函数地址上,实现函数hook。利用上述技术方案,能够有效获取到静态库中的目标函数地址,扩大了hook的范围。
附图说明
图1为本发明实施例一所提供的一种实现函数hook的方法的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京博睿宏远数据科技股份有限公司,未经北京博睿宏远数据科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110884864.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种锅巴的加工装置
- 下一篇:一种面料数字化快速扫描系统、方法、介质及设备