[发明专利]一种iOS应用反钩子的方法及装置有效
申请号: | 202011342321.1 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112149113B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F9/448 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ios 应用 钩子 方法 装置 | ||
1.一种iOS应用反钩子的方法,其特征在于,所述方法包括:
步骤1,反钩子动态库被应用加载;
步骤2,当所述反钩子动态库的具有Objective-c函数钩子检测功能的第一接口被所述应用调用时,所述反钩子动态库获取所述应用的自定义Objective-c函数的函数名称和与所述函数名称所对应类名,根据所述函数名称和所述函数名称所对应的类名获取函数指针,根据所述函数的指针获取所述应用的自定义Objective-c函数所在模块的模块路径,所述反钩子动态库获取预定的可执行文件的全路径,判断所述应用的自定义Objective-c函数所在模块的模块路径和所述预定的可执行文件的全路径是否相同,如果相同,执行步骤3,如果不相同,执行步骤4;
或者,当所述反钩子动态库的具有Objective-c函数钩子检测功能的第一接口被所述应用调用时,所述反钩子动态库获取所述应用的自定义Objective-c函数所在模块的模块基地址,判断所述应用的自定义Objective-c函数所在模块的模块基地址与所述自定义Objective-c函数所在类的预置函数所在模块的模块基地址是否相同,如果相同,执行步骤3,如果不相同,执行步骤4;
步骤3,反钩子动态库向所述应用返回应用未被钩住的返回值;
步骤4,反钩子动态库向所述应用返回应用被钩住的返回值或者所述反钩子动态库调用退出函数使所述应用退出。
2.根据权利要求1所述的方法,其特征在于,所述步骤2具体为:当所述反钩子动态库的具有Objective-c函数钩子检测功能的第一接口被所述应用调用时,所述反钩子动态库获取所述应用的自定义Objective-c函数的函数名称和与所述函数名称所对应类名,根据所述函数名称和所述函数名称所对应的类名获取函数指针,根据所述函数的指针获取所述应用的自定义Objective-c函数所在模块的模块路径,所述反钩子动态库获取预定的可执行文件的全路径,判断所述应用的自定义Objective-c函数所在模块的模块路径和所述预定的可执行文件的全路径是否相同,如果不相同,执行步骤4,如果相同,则所述反钩子动态库获取所述应用的自定义Objective-c函数所在模块的模块基地址,判断所述应用的自定义Objective-c函数所在模块的模块基地址与所述自定义Objective-c函数所在类的预置函数所在模块的模块基地址是否相同,如果相同,执行步骤3,如果不相同,执行步骤4。
3.根据权利要求1所述方法,其特征在于,所述步骤2具体为:
当所述反钩子动态库的具有Objective-c函数钩子检测功能的第一接口被所述应用调用时,所述反钩子动态库获取所述应用的自定义Objective-c函数所在模块的模块基地址,判断所述应用的自定义Objective-c函数所在模块的模块基地址与所述自定义Objective-c函数所在类的预置函数所在模块的模块基地址是否相同,如果不相同,执行步骤4,如果相同,则所述反钩子动态库获取所述应用的自定义Objective-c函数所在模块的模块路径和预定的可执行文件的全路径,判断所述应用的自定义Objective-c函数所在模块的模块路径和所述预定的可执行文件的全路径是否相同,如果相同执行步骤3,如果不相同执行步骤4。
4.根据权利要求1所述的方法,其特征在于,所述步骤2中所述反钩子动态库获取预定的可执行文件的全路径具体为:所述反钩子动态库根据预定的可执行文件映像在当前进程中的默认的索引号获得可执行文件的全路径。
5.根据权利要求1所述的方法,其特征在于,所述步骤2还包括:当所述反钩子动态库的具有C函数钩子检测功能的第二接口被所述应用调用时,所述反钩子动态库获取所述应用的C函数的函数地址反汇编机器码,根据所述应用的C函数的函数地址反汇编机器码和预置的跳转指令判断所述应用的C函数是否被钩住,如果是,执行步骤3,如果否,执行步骤4。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011342321.1/1.html,转载请声明来源钻瓜专利网。