[发明专利]一种程序对象确定方法及装置有效
申请号: | 202010188148.8 | 申请日: | 2020-03-17 |
公开(公告)号: | CN111309410B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 冀睿哲;杨子斌;王仕俊 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/445 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 卢万腾;李雪 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 对象 确定 方法 装置 | ||
本申请提供了一种程序对象确定方法及装置,属于iOS移动应用开发技术领域。所述方法包括:获取应用程序在运行过程中需要调用的多个程序对象;如果多个程序对象中存在预设系统程序对象,则将预设系统程序对象的第一存储地址更改为数据接收程序对象的第二存储地址,预设系统程序对象用于接收应用程序调用目标程序对象所需的配置参数,目标程序对象为被动态方法交换的程序对象;在应用程序基于第二存储地址调用数据接收程序对象的调用过程中,通过数据接收程序对象接收应用程序调用目标程序对象所需的配置参数;基于配置参数确定目标程序对象。采用本申请,可以实现无需应用程序的安装包的源码,对应用程序进行Method Swizzling检测。
技术领域
本申请涉及iOS移动应用开发技术领域,特别是涉及一种程序对象确定方法及装置。
背景技术
采用Method Swizzling(动态方法交换)可以将应用程序中的原程序对象替换为新程序对象,使得电子设备在运行应用程序的过程中调用新程序对象,从而实现新程序对象对应的功能。但是,应用程序中调用原程序对象的其他程序对象,在调用新程序对象时,可能出现调用失败导致应用程序运行崩溃的情况。因此,为避免由程序对象替换引起的运行崩溃,提高应用程序的稳定性,有必要对应用程序进行Method Swizzling检测,即,对应用程序中是否存在Method Swizzling进行检测,并在存在Method Swizzling的情况下,确定被动态方法交换的原程序对象和新程序对象。为了便于描述,将原程序对象和新程序对象称为目标程序对象。
相关技术中,电子设备可以通过对应用程序的安装包的源码进行扫描分析,确定应用程序中是否存在Method Swizzling,并在存在Method Swizzling的情况下,确定被动态方法交换的目标程序对象。然而,安装包由多个代码模块组成,由于某一代码模块可能由第三方提供而无法获取到该代码模块的源码,因此,无法获取到安装包的全部源码。在无法获取到安装包的源码的情况下,电子设备无法对应用程序进行Method Swizzling检测。
发明内容
本申请实施例的目的在于提供一种程序对象确定方法及装置,以实现无需应用程序的安装包的源码,即可对应用程序进行Method Swizzling检测。具体技术方案如下:
第一方面,本申请提供了一种程序对象确定方法,所述方法包括:
获取应用程序在运行过程中需要调用的多个程序对象;
如果所述多个程序对象中存在预设系统程序对象,则确定所述预设系统程序对象的第一存储地址,所述预设系统程序对象用于接收所述应用程序调用目标程序对象所需的配置参数,所述目标程序对象为被动态方法交换的程序对象;
将所述第一存储地址更改为预先存储的数据接收程序对象的第二存储地址,以使所述应用程序基于所述第二存储地址调用所述数据接收程序对象;
在所述数据接收程序对象的调用过程中,通过所述数据接收程序对象接收所述应用程序调用所述目标程序对象所需的配置参数;
基于所述配置参数,确定所述目标程序对象。
可选的,所述获取应用程序在运行过程中需要调用的多个程序对象,包括:
获取所述应用程序的动态符号表,所述动态符号表中存储有所述应用程序在运行过程中需要调用的程序对象的存储地址;
针对每个所述存储地址,根据预先存储的存储地址与程序对象的对应关系,确定该存储地址对应的程序对象,得到所述应用程序在运行过程中需要调用的多个程序对象。
可选的,所述方法还包括:
在启动所述应用程序时,执行所述获取应用程序在运行过程中需要调用的多个程序对象步骤。
可选的,所述基于所述配置参数,确定所述目标程序对象,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010188148.8/2.html,转载请声明来源钻瓜专利网。