[发明专利]一种创建函数钩子的方法、系统、设备及介质有效
申请号: | 202010154310.4 | 申请日: | 2020-03-07 |
公开(公告)号: | CN111290747B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 韩春超 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 创建 函数 钩子 方法 系统 设备 介质 | ||
1.一种创建函数钩子的方法,其特征在于,包括以下步骤:
基于函数的类别创建函数钩子模板库;
响应于接收到创建函数钩子的请求,根据发出所述请求的函数的类别匹配所述函数钩子模板库中对应的模板包括:
将所有模板对应的模板文件存放到同一目录下,遍历所述目录下的所有模板文件并获取所述所有模板文件的内容;
判断所述所有模板文件的内容是否为空,响应于对应的模板文件的内容不为空且满足所述发出所述请求的函数的类别,将所述内容组成一个字典类型的数据结构,并以发出所述请求的函数所属的动态链接库、函数名、函数的各个属性块进行分组,组成一个用于生成C语言代码的原始数据;
响应于匹配成功,获取所述模板中对应的内容并将所述内容传输到创建的函数体中;
响应于数据传输完成,基于所述函数体中的内容执行哈希计算以得到新哈希值,并判断所述新哈希值与所述模板中的哈希值是否相同;以及
响应于所述新哈希值与所述模板中的哈希值相同,基于所述函数体创建函数钩子。
2.根据权利要求1所述的方法,其特征在于,所述获取所述模板中对应的内容并将所述内容传输到创建的函数体中包括:
获取标识信息,并基于所述标识信息对所述内容进行对应的读写操作。
3.根据权利要求1所述的方法,其特征在于,所述获取所述模板中对应的内容并将所述内容传输到创建的函数体中还包括:
获取模式信息,并基于所述模式信息确定所述函数钩子的监控模式。
4.根据权利要求1所述的方法,其特征在于,所述基于函数的类别创建函数钩子模板库包括:
根据处理的顺序对函数的内容进行分块存储。
5.一种创建函数钩子的系统,其特征在于,包括:
创建模块,配置用于基于函数的类别创建函数钩子模板库;
匹配模块,配置用于响应于接收到创建函数钩子的请求,根据发出所述请求的函数的类别匹配所述函数钩子模板库中对应的模板包括:
将所有模板对应的模板文件存放到同一目录下,遍历所述目录下的所有模板文件并获取所述所有模板文件的内容;
判断所述所有模板文件的内容是否为空,响应于对应的模板文件的内容不为空且满足所述发出所述请求的函数的类别,将所述内容组成一个字典类型的数据结构,并以发出所述请求的函数所属的动态链接库、函数名、函数的各个属性块进行分组,组成一个用于生成C语言代码的原始数据;
传输模块,配置用于响应于匹配成功,获取所述模板中对应的内容并将所述内容传输到创建的函数体中;
判断模块,配置用于响应于数据传输完成,基于所述函数体中的内容执行哈希计算以得到新哈希值,并判断所述新哈希值与所述模板中的哈希值是否相同;以及
执行模块,配置利用与响应于所述新哈希值与所述模板中的哈希值相同,基于所述函数体创建函数钩子。
6.根据权利要求5所述的系统,其特征在于,所述传输模块还配置用于:
获取标识信息,并基于所述标识信息对所述内容进行对应的读写操作。
7.根据权利要求5所述的系统,其特征在于,所述传输模块还配置用于:
获取模式信息,并基于所述模式信息确定所述函数钩子的监控模式。
8.根据权利要求5所述的系统,其特征在于,所述创建模块还配置用于:
根据处理的顺序对函数的内容进行分块存储。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010154310.4/1.html,转载请声明来源钻瓜专利网。