应用间通信方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38032794 阅读:11 留言:0更新日期:2023-06-30 10:59
本申请实施例公开了一种应用间通信方法、装置、电子设备和存储介质。通过系统注入框架,获取权限过滤方法;通过钩子hook函数,获取权限过滤方法中的通信权限参数;修改通信权限参数,以实现调度应用与目标应用的通信。本申请实施例克服了对包的可见性通信限制机制,为应用间的通信提供了支持。用间的通信提供了支持。用间的通信提供了支持。

【技术实现步骤摘要】
应用间通信方法、装置、电子设备和存储介质


[0001]本申请实施例涉及通信技术,尤其涉及一种应用间通信方法、装置、电子设备和存储介质。

技术介绍

[0002]在安卓系统11中为了保护用户的安全性和隐私性,引入了包的可见性概念,如果没有进行申请,除了默认的系统应用外,不能直接获取到软件包是否已经安装。
[0003]现有技术中,安卓系统应用间的通信主要是通过注入方法、对应用进行升权和内部打点等方式。但是,基于现有通信方式不能克服对包的可见性通信限制机制。

技术实现思路

[0004]本申请提供一种应用间通信方法、装置、电子设备和存储介质,以克服对包的可见性通信限制机制,为应用间的通信提供支持。
[0005]第一方面,本申请实施例提供了一种应用间通信方法,该应用间通信方法包括:
[0006]通过系统注入框架,获取权限过滤方法;
[0007]通过钩子hook函数,获取权限过滤方法中的通信权限参数;
[0008]修改通信权限参数,以实现调度应用与目标应用的通信。
[0009]第二方面,本申请实施例还提供了一种应用间通信装置,该应用间通信装置包括:
[0010]权限过滤方法获取模块,用于通过系统注入框架,获取权限过滤方法;
[0011]通信权限参数获取模块,用于通过钩子hook函数,获取权限过滤方法中的通信权限参数;
[0012]通信权限参数修改模块,用于修改通信权限参数,以实现调度应用与目标应用的通信。
[0013]第三方面,本申请实施例还提供了电子设备,该电子设备包括:
[0014]一个或多个处理器;
[0015]存储装置,用于存储一个或多个程序;
[0016]当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本申请实施例提供的任意一种应用间通信方法。
[0017]第四方面,本申请实施例还提供了一种包括计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本申请实施例提供的任意一种应用间通信方法。
[0018]本申请通过系统注入框架,获取权限过滤方法;通过hook函数,获取权限过滤方法中的通信权限参数;修改通信权限参数,以实现调度应用与目标应用的通信。通过hook函数获取通信权限参数并修改,使目标应用无需代码配合即可与调度应用进行通信,对调度应用发现并绑定各目标应用提供支持。因此通过本申请的技术方案,解决了基于现有通信方式不能克服对包的可见性通信限制机制的问题,达到了克服对包的可见性通信限制机制,
为应用间的通信提供支持的效果。
附图说明
[0019]图1是本申请实施例一中的一种应用间通信方法的流程图;
[0020]图2是本申请实施例二中的一种应用间通信方法的流程图;
[0021]图3是本申请实施例三中的一种应用间通信方法的流程图;
[0022]图4是本申请实施例四中的一种应用间通信装置的结构示意图;
[0023]图5是本申请实施例五中的一种电子设备的结构示意图。
具体实施方式
[0024]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0025]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0026]实施例一
[0027]图1为本申请实施例一提供的一种应用间通信方法的流程图,本实施例可适用于克服对包的可见性通信限制机制的情况,该方法可以由应用间通信装置执行,该装置可以采用软件和/或硬件实现,并具体配置于安卓系统中,例如,手机。
[0028]参见图1所示的应用间通信方法,具体包括如下步骤:
[0029]S110、通过系统注入框架,获取权限过滤方法。
[0030]系统注入框架可以为能够对系统的框架进行修改的工具,可以用于获取系统中的权限设定方法。例如,系统注入框架可以为Xposed框架(Xposed Framework,专业名词,一种框架服务)。
[0031]权限过滤方法可以为系统中对于应用间访问权限的限制方法。示例性的,权限过滤方法可以为对包的可见性限制方法,用于指示系统是否过滤掉应用对于本系统中是否安装有其他应用的查询。通过系统注入框架,可以在系统中查询到的权限过滤方法。
[0032]示例性的,系统注入框架可以为Xposed框架,通过Xposed框架中的findAndHookMethod(专业名词,一种函数)可以获取系统中的权限过滤方法。
[0033]在一个可选实施例中,在通过系统注入框架,获取权限过滤方法之前,还包括:通过反编译工具确定目标应用的软件开发工具包的版本是否为预设标识符。
[0034]反编译工具可以为对目标应用的软件开发工具包进行反编译的工具,用于得到目
标应用的软件开发工具包的源代码,以获取目标应用的信息。目标应用可以为需要被调用的应用。软件开发工具包的版本可以为软件开发工具包的开发版本。预设标识符可以为预先设置的版本编号,用于确定软件开发工具包的版本是否为目标版本。示例性的,可以根据compileSdkVersion(专业名词,一种字段)的数值与预设标识符是否相同,确定目标应用的软件开发工具包的版本是否为预设标识符。
[0035]不同的软件开发工具包的版本可能有不同的权限限制。例如,在安卓系统中,Android 11(安卓系统11,专业名词,一种操作系统)中设置了包的可见性限制,而其他安卓版本的系统不存在该限制,因此对于克服包的可见性限制,在安卓系统中需要确定是否为Android 11。Android 11对应的API(Application Program Interface,应用程序界面)版本为30,因此,预设标识符为30。当软件开发工具包的版本为预设标识符,需要克服包的可见性限制,否则不需要。
[0036]通过反编译工具确定目标应用的软件开发工具包的版本是否为预设标识符,快速判断是否需要克服包的可见性限制,提高后续方法执行的针对性。
[0037]S120、通过钩子hook函数,获取权限过滤方法中的通信权限参数。
[0038]hook函数用于将自身的函数注入到其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用间通信方法,其特征在于,包括:通过系统注入框架,获取权限过滤方法;通过钩子hook函数,获取所述权限过滤方法中的通信权限参数;修改所述通信权限参数,以实现调度应用与目标应用的通信。2.根据权利要求1所述的方法,其特征在于,所述通过钩子hook函数,获取所述权限过滤方法中的通信权限参数,包括:通过所述hook函数,生成回调函数;根据所述回调函数,从所述权限过滤方法中获取所述目标应用的通信权限参数。3.根据权利要求2所述的方法,其特征在于,在所述权限过滤方法中获取所述目标应用的通信权限参数之前,包括:判断通信权限列表中可调度应用列表中是否包含所述调度应用;若是,则获取所述权限过滤方法中目标应用的通信权限参数。4.根据权利要求1所述的方法,其特征在于,所述修改所述通信权限参数,包括:将所述通信权限参数修改为false。5.根据权利要求1所述的方法,其特征在于,所述通过系统注入框架,获取权限过滤方法,包括:通过Xposed框架,获取系统中的过滤类;在所述过滤类中,获取所述权限过滤方法。6.根据权利要求1所述的方法,其特征在于,在所述通过系统注入框...

【专利技术属性】
技术研发人员:程捷
申请(专利权)人:北京博睿宏远数据科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1