[发明专利]钩子检查方法、装置、服务器及可读存储介质在审
申请号: | 201910673277.3 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110532774A | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 曹世杰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 11570 北京众达德权知识产权代理有限公司 | 代理人: | 刘杰<国际申请>=<国际公布>=<进入国 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 目标地址 原始地址 同一地址 钩子 目标函数 判断结果 有效识别 准确度 符号表 编译 检查 查找 攻击 | ||
本说明书实施例公开了一种钩子检查方法,获取需要进行钩子检查的检测函数的函数名和所述检测函数的原始地址;利用所述检测函数的函数名在内符号表中进行查找,得到目标函数及其对应的目标地址;根据所述原始地址和所述目标地址是否为同一地址的判断结果,确定所述检测函数是否处于所述被攻击状态;如此,由于所述目标函数在未被hook情况下为编译后的所述检测函数,使得在所述检测函数未被hook时,所述原始地址与所述目标地址为同一地址;如此,可以通过判断所述原始地址和所述目标地址是否为同一地址得到的判断结果,能够确定所述检测函数是否被hook,从而能够有效识别出所述检测函数是否被hook的情况,且能够提高所述检测函数是否被hook的识别准确度。
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及一种钩子检查方法、装置、服务器及可读存储介质。
背景技术
现有技术中,fishhook是Facebook提供的一个动态修改链接mach-O文件的工具,其利用MachO文件加载原理,通过修改懒加载和非懒加载两个表的指针达到函数hook的目的。
但是,由于FishHook项目是开源的,使得针对函数的hook技术门槛极低,使得应用程序除了开发者之外的其它技术人员也可以对应用程序中的函数进行hook,使得应用程序中的函数被hook的概率较高;而且由于应用程序中的函数在被hook情况下会导致出现应用程序流程修改的问题;如此,为了降低应用程序中函数被hook的风险对业务的影响,亟需一种针对函数是否被hook这种情况的检测方案。
发明内容
本说明书实施例提供了一种钩子检查方法、装置、服务器及可读存储介质,有效识别出所述检测函数是否被hook的情况,并提高所述检测函数是否被hook的识别准确度。
本说明书实施例第一方面提供了一种钩子检查方法,应用于iOS系统中,包括:
获取需要进行钩子检查的检测函数的函数名和所述检测函数的原始地址;
利用所述检测函数的函数名在内存的动态库中的符号表中进行查找,得到目标函数,并获取所述目标函数对应的目标地址,其中,所述目标函数的函数名包含有所述检测函数的函数名;
判断所述原始地址和所述目标地址是否为同一地址,得到判断结果;
根据所述判断结果,确定所述检测函数是否处于所述被攻击状态。
本说明书实施例第二方面提供了一种钩子检查装置,包括:
数据获取单元,用于获取需要进行钩子检查的检测函数的函数名和所述检测函数的原始地址;
查找单元,用于利用所述检测函数的函数名在内存的动态库中的符号表中进行查找,得到目标函数,并获取所述目标函数对应的目标地址,其中,所述目标函数的函数名包含有所述检测函数的函数名;
判断单元,用于判断所述原始地址和所述目标地址是否为同一地址,得到判断结果;
状态确定单元,用于根据所述判断结果,确定所述检测函数是否处于所述被攻击状态。
本说明书实施例第三方面还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述钩子检查方法的步骤。
本说明书实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述钩子检查方法的步骤。
本说明书实施例的有益效果如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910673277.3/2.html,转载请声明来源钻瓜专利网。