[发明专利]应用程序安全防护方法、装置、电子设备和可读介质在审
申请号: | 202210521126.8 | 申请日: | 2022-05-13 |
公开(公告)号: | CN115033849A | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 王思颖;彭飞;邓竹立 | 申请(专利权)人: | 北京五八信息技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F9/448 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 杨柳苑 |
地址: | 100083 北京市海淀区学清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 安全 防护 方法 装置 电子设备 可读 介质 | ||
本发明实施例提供了一种应用程序安全防护方法、装置、电子设备和可读介质,所述方法包括:确定应用程序中需要安全防护的目标方法;创建多个实例类,并在所述实例类声明与所述目标方法一致的交换方法;在所述应用程序中调用所述目标方法时,从所述实例类中随机选取出目标实例类;调用所述目标实例类中所述目标方法对应的目标交换方法,以使调用所述目标方法时的方法地址随机。本发明实施例可以在目标方法调用时,随机选取实例类中的与目标方法一致的交换方法并执行,在保证方法功能正常执行的情况下,使实际调用过程中调用的类地址以及方法地址和目标方法的不同,实现对逆向破解过程的干扰,增大了应用程序的破解难度,提高了应用程序的安全性。
技术领域
本发明实施例涉及互联网技术领域,特别是涉及一种应用程序安全防护方法、一种应用程序安全防护装置、一种电子设备以及一种计算机可读介质。
背景技术
随着互联网的发展,App(Application,应用程序)的开发技术愈发成熟,但仍存在着使用反编译等手段对应用程序进行逆向破解的行为,影响着应用程序的安全性。
对此,目前部分应用程序设计了安全性防护方案,现有的应用程序安全性防护方案部分是基于OC(Objective-C,一种面向对象编程语言)的动态特性进行方法交换(MethodSwizzling)来实现的,尽管具有一定的防护功能,但采用这种方式进行防护的应用程序,依旧可以根据调用方法的堆栈信息以及内存偏移量来计算方法地址,获取真正的方法地址,从而进行破解,安全性不高。
发明内容
本发明实施例是提供一种应用程序安全防护方法、装置、电子设备以及计算机可读存储介质,以解决现有技术中应用程序的反破解防护方案安全性不高的问题。
为了解决上述问题,本发明实施例公开了一种应用程序安全防护方法,所述方法包括:
确定应用程序中需要安全防护的目标方法;
创建多个实例类,并在所述实例类声明与所述目标方法一致的交换方法;
在所述应用程序中调用所述目标方法时,从所述实例类中随机选取出目标实例类;
调用所述目标实例类中所述目标方法对应的目标交换方法,以使调用所述目标方法时的方法地址随机。
可选地,所述在所述实例类声明与所述目标方法一致的交换方法,包括:
确定所述目标方法的目标方法标识和目标方法代码;
在所述实例类中声明与所述目标方法标识和所述目标方法代码一致的交换方法。
可选地,在所述从所述实例类中随机选取出目标实例类之前,所述方法还包括:
确定所述实例类的类标识;
将所述类标识组装为数组,所述类标识在所述数组中具有对应角标。
可选地,所述从所述实例类中随机选取出目标实例类,包括:
确定所述数组的数组长度;
从小于所述数组长度的数字中随机得到随机数;
将所述数组中与所述随机数相同的角标作为目标角标;
确定所述目标角标对应的目标类标识;
将所述目标类标识对应的实例类作为目标实例类。
可选地,所述调用所述目标实例类中所述目标方法对应的目标交换方法,包括:
确定所述目标方法的目标方法标识;
从所述目标实例类中确定所述目标方法标识对应的目标交换方法;
调用所述目标交换方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210521126.8/2.html,转载请声明来源钻瓜专利网。