【技术实现步骤摘要】
一种程序对象确定方法及装置
本申请涉及iOS移动应用开发
,特别是涉及一种程序对象确定方法及装置。
技术介绍
采用MethodSwizzling(动态方法交换)可以将应用程序中的原程序对象替换为新程序对象,使得电子设备在运行应用程序的过程中调用新程序对象,从而实现新程序对象对应的功能。但是,应用程序中调用原程序对象的其他程序对象,在调用新程序对象时,可能出现调用失败导致应用程序运行崩溃的情况。因此,为避免由程序对象替换引起的运行崩溃,提高应用程序的稳定性,有必要对应用程序进行MethodSwizzling检测,即,对应用程序中是否存在MethodSwizzling进行检测,并在存在MethodSwizzling的情况下,确定被动态方法交换的原程序对象和新程序对象。为了便于描述,将原程序对象和新程序对象称为目标程序对象。相关技术中,电子设备可以通过对应用程序的安装包的源码进行扫描分析,确定应用程序中是否存在MethodSwizzling,并在存在MethodSwizzling的情况下,确定被动态方法交换的 ...
【技术保护点】
1.一种程序对象确定方法,其特征在于,所述方法包括:/n获取应用程序在运行过程中需要调用的多个程序对象;/n如果所述多个程序对象中存在预设系统程序对象,则确定所述预设系统程序对象的第一存储地址,所述预设系统程序对象用于接收所述应用程序调用目标程序对象所需的配置参数,所述目标程序对象为被动态方法交换的程序对象;/n将所述第一存储地址更改为预先存储的数据接收程序对象的第二存储地址,以使所述应用程序基于所述第二存储地址调用所述数据接收程序对象;/n在所述数据接收程序对象的调用过程中,通过所述数据接收程序对象接收所述应用程序调用所述目标程序对象所需的配置参数;/n基于所述配置参数, ...
【技术特征摘要】
1.一种程序对象确定方法,其特征在于,所述方法包括:
获取应用程序在运行过程中需要调用的多个程序对象;
如果所述多个程序对象中存在预设系统程序对象,则确定所述预设系统程序对象的第一存储地址,所述预设系统程序对象用于接收所述应用程序调用目标程序对象所需的配置参数,所述目标程序对象为被动态方法交换的程序对象;
将所述第一存储地址更改为预先存储的数据接收程序对象的第二存储地址,以使所述应用程序基于所述第二存储地址调用所述数据接收程序对象;
在所述数据接收程序对象的调用过程中,通过所述数据接收程序对象接收所述应用程序调用所述目标程序对象所需的配置参数;
基于所述配置参数,确定所述目标程序对象。
2.根据权利要求1所述的方法,其特征在于,所述获取应用程序在运行过程中需要调用的多个程序对象,包括:
获取所述应用程序的动态符号表,所述动态符号表中存储有所述应用程序在运行过程中需要调用的程序对象的存储地址;
针对每个所述存储地址,根据预先存储的存储地址与程序对象的对应关系,确定该存储地址对应的程序对象,得到所述应用程序在运行过程中需要调用的多个程序对象。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在启动所述应用程序时,执行所述获取应用程序在运行过程中需要调用的多个程序对象步骤。
4.根据权利要求1所述的方法,其特征在于,所述基于所述配置参数,确定所述目标程序对象,包括:
根据预先存储的配置参数与程序对象的对应关系、所述数据接收程序对象接收到的配置参数,确定目标程序对象。
5.根据权利要求1所述的方法,其特征在于,所述基于所述配置参数,确定所述目标程序对象之后,还包括:
如果所述目标程序对象为预设危险程序对象,则删除所述目标程序对象。
...
【专利技术属性】
技术研发人员:冀睿哲,杨子斌,王仕俊,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。