[发明专利]hook目标函数的方法、装置、电子设备及介质有效
申请号: | 202211732560.7 | 申请日: | 2022-12-30 |
公开(公告)号: | CN115952491B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 冯立强 | 申请(专利权)人: | 北京基调网络股份有限公司 |
主分类号: | G06F21/54 | 分类号: | G06F21/54;G06F21/14;G06F21/55 |
代理公司: | 北京国贝知识产权代理有限公司 11698 | 代理人: | 牟昌兵 |
地址: | 100027 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | hook 目标 函数 方法 装置 电子设备 介质 | ||
1.一种hook目标函数的方法,其特征在于,所述方法包括:
在执行所述目标函数时,根据所述目标函数中的第一跳转指令跳转至第一指定函数,所述目标函数中依次包括所述第一跳转指令和原函数机器指令;
在执行所述第一指定函数时,检测调用对象是否是第二指定函数;
若所述调用对象不是所述第二指定函数,则根据所述第一指定函数中的第二跳转指令跳转至所述第二指定函数,以通过所述第二指定函数对所述目标函数进行hook,其中,所述目标函数、所述第一指定函数以及所述第二指定函数三个函数接口相同;以及
若所述调用对象是所述第二指定函数,则:
根据所述第一指定函数中的第三跳转指令跳转至所述第一指定函数的第一预设字段,执行所述第一预设字段中的指令,其中,所述第一预设字段中的指令为原函数中被所述第一跳转指令覆盖的指令;以及
在执行所述第一预设字段中的指令后,执行第四跳转指令以跳转至所述原函数机器指令,并执行所述原函数机器指令。
2.根据权利要求1所述的hook目标函数的方法,其特征在于,所述在执行所述目标函数时,跳转至第一指定函数之前,还包括:
获取待处理的原函数;
获取所述原函数中第二预设字段的指令,并将所述原函数中所述第二预设字段的指令处理为覆盖指令,并将所述覆盖指令写入第一指定函数的第一预设字段,其中,所述第二预设字段始于所述原函数的入口地址;
将所述原函数的第二预设字段的指令用第一跳转指令代替,获得目标函数,其中,所述第一跳转指令始于所述目标函数的入口地址。
3.根据权利要求1所述的hook目标函数的方法,其特征在于,所述第一跳转指令始于所述目标函数的入口地址。
4.根据权利要求2所述的hook目标函数的方法,其特征在于,所述第一指定函数的第三预设字段中存储有所述第四跳转指令,所述第三预设字段位于所述第一预设字段之后,所述第一预设字段始于所述第一指定函数的入口地址。
5.根据权利要求1所述的hook目标函数的方法,其特征在于,所述在执行所述目标函数时,跳转至第一指定函数之前,还包括:
获取栈空间容量;
在所述栈空间容量低于预设容量时,触发栈扩容。
6.一种hook目标函数的装置,其特征在于,所述装置包括:
第一跳转模块,用于在执行所述目标函数时,根据所述目标函数中的第一跳转指令跳转至第一指定函数,所述目标函数中依次包括所述第一跳转指令和原函数机器指令;
用于在执行所述第一指定函数时,检测调用对象是否是第二指定函数的模块;
第一跳转子模块,用于若所述调用对象不是所述第二指定函数,根据所述第一指定函数中的第二跳转指令跳转至所述第二指定函数,以通过所述第二指定函数对所述目标函数进行hook,其中,所述目标函数、所述第一指定函数以及所述第二指定函数三个函数接口相同;
第二跳转子模块,用于若所述调用对象是所述第二指定函数,则:
根据所述第一指定函数中的第三跳转指令跳转至所述第一指定函数的第一预设字段,执行所述第一预设字段中的指令,其中,所述第一预设字段中的指令为原函数中被所述第一跳转指令覆盖的指令;以及
在执行所述第一预设字段中的指令后,执行第四跳转指令以跳转至所述原函数机器指令,并执行所述原函数机器指令。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1~5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1~5任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京基调网络股份有限公司,未经北京基调网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211732560.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可清洗压力传感器纺织品及其制备方法
- 下一篇:泵体驱动装置