[发明专利]一种iOS应用反钩子的方法及装置有效
申请号: | 202011342321.1 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112149113B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F9/448 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ios 应用 钩子 方法 装置 | ||
本发明提供的一种iOS应用反钩子的方法,包括反钩子动态库被应用加载;当反钩子动态库的具有Objective‑c函数钩子检测功能的第一接口被应用调用时,反钩子动态库获取应用的自定义Objective‑c函数所在模块的模块路径和预定的可执行文件的全路径,判断应用的自定义Objective‑c函数所在模块的模块路径和预定的可执行文件的全路径是否相同,如果相同,反钩子动态库向应用返回应用未被钩住的返回值,如果不相同,反钩子动态库向应用返回应用被钩住的返回值。本发明保证了iOS应用的安全使用。
技术领域
本发明涉及互联网技术领域,特别涉及一种iOS应用反钩子的方法及装置。
背景技术
随着时代的发展,iOS应用得到广泛的使用,由于iOS应用的关键函数容易被钩住,从而导致iOS应用的关键数据的泄露, iOS应用被破解的问题日渐显现,iOS应用的安全问题也逐渐上升为一个受关注且亟待解决的问题。
发明内容
本发明提供了一种iOS应用反钩子的方法及装置,解决了上述技术问题。
一种iOS应用反钩子的方法,包括:
步骤1,反钩子动态库被应用加载;
步骤2,当反钩子动态库的具有Objective-c函数钩子检测功能的第一接口被应用调用时,反钩子动态库获取应用的自定义Objective-c函数的函数名称,根据函数名称获取函数指针,根据所函数的指针获取应用的自定义Objective-c函数所在模块的模块路径,反钩子动态库获取预定的可执行文件的全路径,判断应用的自定义Objective-c函数所在模块的模块路径和预定的可执行文件的全路径是否相同,如果相同,执行步骤3,如果不相同,执行步骤4;
步骤3,反钩子动态库向应用返回应用未被钩住的返回值;
步骤4,反钩子动态库向应用返回应用被钩住的返回值或者反钩子动态库调用退出函数使应用退出。
本发明提供了一种iOS应用反钩子的装置,包括反钩子动态库模块:
反钩子动态库模块包括:
被加载单元,用于被应用加载反钩子动态库模块;
具有Objective-c函数钩子检测功能的第一接口单元,用于被应用调用,
获取单元,用于当反钩子动态库模块的具有Objective-c函数钩子检测功能的第一接口单元被应用调用时,获取单元用于获取应用的自定义Objective-c函数的函数名称,根据函数名称获取函数指针,根据所函数的指针获取应用的自定义Objective-c函数所在模块的模块路径;还用于获取预定的可执行文件的全路径;
判断单元,用于判断获取单元获取的应用的自定义Objective-c函数所在模块的模块路径和预定的可执行文件的全路径是否相同;
返回单元,用于当判断单元的判断结果为相同时,向应用返回应用未被钩住的返回值;还用于当判断单元的判断结果为不相同时,向应用返回应用被钩住的返回值或者调用退出函数使应用退出。
本发明的有益效果:本发明提供了一种iOS应用反钩子的方法及系统,通过调用反钩子动态库,有效的防止了iOS应用关键函数被钩住的问题,从而保证了iOS应用的安全使用。
附图说明
图1为本发明实施例一提供的一种iOS应用反钩子的方法流程图;
图2为本发明实施例二提供的一种iOS应用反钩子的方法流程图;
图3为本发明实施例三提供的一种iOS应用反钩子的装置框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011342321.1/2.html,转载请声明来源钻瓜专利网。