[发明专利]hook目标函数的方法、装置、电子设备及介质有效
申请号: | 202211732560.7 | 申请日: | 2022-12-30 |
公开(公告)号: | CN115952491B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 冯立强 | 申请(专利权)人: | 北京基调网络股份有限公司 |
主分类号: | G06F21/54 | 分类号: | G06F21/54;G06F21/14;G06F21/55 |
代理公司: | 北京国贝知识产权代理有限公司 11698 | 代理人: | 牟昌兵 |
地址: | 100027 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | hook 目标 函数 方法 装置 电子设备 介质 | ||
本发明公开了一种hook目标函数的方法、装置、电子设备及介质,涉及数据安全技术领域,在执行目标函数时,根据目标函数中的第一跳转指令跳转至第一指定函数;在执行第一指定函数时,根据第一指定函数中的第二跳转指令跳转至第二指定函数,以通过第二指定函数对目标函数进行hook,其中,目标函数、第一指定函数以及第二指定函数三个函数接口相同,通过hook的方式对目标函数中的数据进行保护。
技术领域
本发明涉及数据安全技术领域,尤其涉及一种hook目标函数的方法、装置、电子设备及介质。
背景技术
随着网络信息化的发展,人们对数据安全的重视程度也越来越高,为了保护计算机软件数据不因偶然和恶意的原因遭到破坏、更改和泄露,需要采取一些措施来确保网络数据的可用性、完整性和保密性。传统的函数保护方法,一般都是基于整个应用或者代码段的,而实际中,可能存在部分应用或部分代码段非常重要,因此,这部分应用或部分代码段被攻击时存在风险需要被保护,而其他应用或代码段则不需要被保护的情况,如果对所有应用和代码段都进行保护,会造成资源的浪费。
例如,Hook(钩子)函数是一个处理消息的代码段,采用Hook函数可以钩住目标函数,此时如果有其他函数向该目标函数发送消息时,不会先运行该目标函数,而是先运行Hook函数,在Hook函数运行过程中,可以先对传递给目标函数的消息进行加工处理再传递给该目标函数,也可以直接将该消息传递给目标函数,也可以强制结束该消息的传递。
由于Go语言动态栈扩容/缩容机制的复杂性,当前并没有一个成的Go语言环境下的机器指令级的hook方案。
发明内容
本发明提供一种hook目标函数的方法、装置、电子设备及介质,旨在解决上述技术问题。
为解决上述技术问题,本发明第一方面提供一种hook目标函数的方法,所述hook目标函数的方法包括:在执行所述目标函数时,根据所述目标函数中的第一跳转指令跳转至第一指定函数;在执行所述第一指定函数时,根据所述第一指定函数中的第二跳转指令跳转至第二指定函数,以通过所述第二指定函数对所述目标函数进行hook,其中,所述目标函数、所述第一指定函数以及所述第二指定函数三个函数接口相同。
通过hook的方式对目标函数中的数据进行保护,上述三个函数中的函数接口一致,确保了hook过程的顺利执行。
可选地,所述在执行所述第一指定函数时,根据所述第一指定函数中的第二跳转指令跳转至第二指定函数,包括:在执行所述第一指定函数时,检测调用对象是否是所述第二指定函数;若所述调用对象不是所述第二指定函数,则根据所述第一指定函数中的所述第二跳转指令跳转至所述第二指定函数。
可选地,所述方法还包括:在执行所述第一指定函数时,检测调用对象是否为所述第二指定函数;若所述调用对象是所述第二指定函数,则根据所述第一指定函数中的第三跳转指令跳转至所述第一指定函数的第一预设字段,执行所述第一指定函数的所述第一预设字段字段中的指令。
上述步骤判断函数后,再执行对应的指令,防止执行函数时出现死循环。
可选地,所述在执行所述目标函数时,跳转至第一指定函数之前,还包括:获取待处理的原函数;获取所述原函数中第二预设字段的代码,并将所述原函数中所述第二预设字段的代码处理为覆盖指令,并将所述覆盖指令写入第一指定函数的第一预设字段;将所述原函数的第二预设字段的代码用第一跳转指令数代替,获得目标函数。
可选地,所述目标函数中依次包括第一跳转指令和原函数机器指令。
可选地,所述第一指定函数的第三预设字段中存储有第四跳转指令,所述第三预设字段为所述第一预设字段后一字段,所述方法还包括:在执行完所述第一预设字段中的覆盖指令后,执行所述第三预设字段中存储的所述第四跳转指令,跳转至所述原函数机器指令的位置,并执行所述原函数机器指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京基调网络股份有限公司,未经北京基调网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211732560.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可清洗压力传感器纺织品及其制备方法
- 下一篇:泵体驱动装置