[发明专利]钩子处理方法及装置有效
申请号: | 201711392044.3 | 申请日: | 2017-12-20 |
公开(公告)号: | CN108345526B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 颜华甲 | 申请(专利权)人: | 北京金山安全管理系统技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F21/55 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵囡囡 |
地址: | 100013 北京市朝阳区北三环*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 钩子 处理 方法 装置 | ||
本发明提供了一种钩子处理方法及装置,其中,该方法包括:获取API Hook所钩挂的函数;调用函数;判断调用函数之后API Hook是否监控到函数被调用;如果API Hook未监控到函数被调用,则确定API Hook被卸载,解决了相关技术中无法监控API Hook是否被卸载的问题,实现了对API Hook是否被卸载的监控。
技术领域
本发明涉及信息技术领域,具体而言,涉及一种钩子处理方法及装置。
背景技术
API Hook技术是一种用于改变API执行结果的技术,挂钩API函数可以控制、拦截API函数的调用,API Hook技术在各个平台上都有使用,例如Linux,Android,Windows。Microsoft自身也在Windows操作系统里面使用了这个技术,如Windows兼容模式、热补丁等。
API Hook技术在安全软件的编写中也用得非常广泛,因为使用它可以很好的实现监控一些系统调用,从而拦截病毒木马的恶意操作。
针对相关技术中无法监控API Hook是否被卸载的问题,目前还没有有效地解决方案。
发明内容
本发明实施例提供了一种钩子处理方法及装置,以至少解决相关技术中无法监控API Hook是否被卸载的问题。
根据本发明的一个实施例,提供了一种钩子处理方法,包括:获取API Hook所钩挂的函数;调用所述函数;判断调用所述函数之后所述API Hook是否监控到所述函数被调用;如果所述API Hook未监控到所述函数被调用,则确定所述API Hook被卸载。
可选地,判断调用所述函数之后所述API Hook是否监控到所述函数被调用包括:判断调用所述函数之后程序的运行是否会回到所述API Hook中,以判断所述API Hook是否监控到所述函数被调用,其中,所述函数包括在所述程序中。
可选地,在确定所述API Hook被卸载之后,所述方法还包括:重新将所述API Hook钩挂在所述函数上。
可选地,重新将所述API Hook钩挂到所述函数上包括以下之一:通过重新修改所述函数指针,将所述API Hook钩挂到所述函数上;通过修改所述函数的代码,将所述APIHook钩挂到所述函数上。
根据本发明的另一个实施例,提供了一种钩子处理装置,包括:第一获取模块,用于获取API Hook所钩挂的函数;调用模块,用于调用所述函数;第一判断模块,用于判断调用所述函数之后所述API Hook是否监控到所述函数被调用;第一确定模块,用于如果所述API Hook未监控到所述函数被调用,则确定所述API Hook被卸载。
可选地,所述第一判断模块包括:判断单元,用于判断调用所述函数之后程序的运行是否会回到所述API Hook中,以判断所述API Hook是否监控到所述函数被调用,其中,所述函数包括在所述程序中。
可选地,所述装置还包括:钩挂模块,用于重新将所述API Hook钩挂在所述函数上。
可选地,所述钩挂模块包括以下之一:第一钩挂单元,用于通过重新修改所述函数指针,将所述API Hook钩挂到所述函数上;第二钩挂单元,用于通过修改所述函数的代码,将所述API Hook钩挂到所述函数上。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全管理系统技术有限公司,未经北京金山安全管理系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711392044.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:计算机程序管理方法与系统
- 下一篇:一种接口入参的分析监控方法及系统