CN113138867B - 一种实现应用程序间通信的方法、装置及设备 - Google Patents

一种实现应用程序间通信的方法、装置及设备 Download PDF

Info

Publication number
CN113138867B
CN113138867B CN202110426265.8A CN202110426265A CN113138867B CN 113138867 B CN113138867 B CN 113138867B CN 202110426265 A CN202110426265 A CN 202110426265A CN 113138867 B CN113138867 B CN 113138867B
Authority
CN
China
Prior art keywords
communication
installation package
application program
application
sdk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110426265.8A
Other languages
English (en)
Other versions
CN113138867A (zh
Inventor
杨焱
刘永辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Suninfo Technology Co ltd
Original Assignee
Shanghai Suninfo Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Suninfo Technology Co ltd filed Critical Shanghai Suninfo Technology Co ltd
Priority to CN202110426265.8A priority Critical patent/CN113138867B/zh
Publication of CN113138867A publication Critical patent/CN113138867A/zh
Application granted granted Critical
Publication of CN113138867B publication Critical patent/CN113138867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本申请通过一种实现应用程序间通信的方法、装置及设备,首先基于构建的APP Group,确定签名描述文件,接着获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包,然后基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。通过该方法,可在采用iOS系统的设备中高效实现多个应用程序间通信,且不限制各应用程序间通信数据的大小,还可以高效地实现不同开发者账号下的应用程序间通信,拓展了采用iOS系统的设备中的应用程序的应用场景,具有非常实用的价值。

Description

一种实现应用程序间通信的方法、装置及设备
技术领域
本申请涉及移动互联网安全领域,尤其涉及一种实现应用程序间通信的技术。
背景技术
在采用iOS系统的设备中,每个应用程序都有自己的文件系统目录,也称应用沙盒。通常每个应用程序的数据读写范围都限定在对应的应用沙盒里,不能去访问其他应用程序对应的应用沙盒中的内容。
但是在很多实际应用场景中,经常需要各应用程序之间共享数据,比如多个应用共用用户名密码进行登录、共享配置信息、共享数据等。
目前采用iOS系统的设备中应用程序间可通过Shared Keychain Access(共享钥匙串访问)技术实现通信,但要求实现通信的各应用程序采用的是同样的证书,即各应用程序是同一开发者开发的。在iOS8及之后的版本中新增了APP Group功能,使得各应用程序之间可以通过同一个APP Group来共享资源,实现通信,但同样地,通过APP Group的数据共享功能实现各应用程序间通信也是基于各应用程序是同一开发者开发的使用前提。
在iOS系统问世之前,在主流操作系统(Mac/Windows/Linux)上开发和运行应用程序是不需要签名的,应用程序的安装包可以从任何合法来源下载、安装、运行,这种应用模式导致对应用程序,特别第三方应用程序难以控制,盗版流行。而苹果公司通过签名机制在iOS系统中采用了对第三方应用程序绝对控制的模式。iOS系统通过验证第三方开发的应用程序的签名有效性来确定其合法性,只有经过苹果官方签名机制验证通过签名有效性的应用程序才能安装到采用iOS系统的设备中,因此,不能简单地对应用程序进行修改来实现不同开发账户开发的应用程序间通信。
发明内容
本申请的目的是提供一种实现应用程序间通信的方法、装置及设备,用以实现不同开发账户开发的应用程序间通信的技术问题。
根据本申请的一个方面,提供了一种实现应用程序间通信的方法,其中,所述方法包括:
基于构建的APP Group,确定签名描述文件;
获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包;
基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。
可选地,其中,所述基于构建的APP Group,确定签名描述文件包括:
基于预设的iOS系统企业级开发账号,创建APP Group;
基于所述APP Group,配置所述签名描述文件。
可选地,其中,所述将所述通信SDK集成进每个应用程序的安装包包括:
基于预设的脚本化工具,将所述通信SDK合并到每个应用程序的安装包中;
将每个应用程序的安装包中的所述通信SDK的存放路径写入所述应用程序的安装包的目标文件中;
执行代码注入操作,并更新所述安装包,以实现将所述通信SDK集成进每个应用程序的安装包。
可选地,其中,所述执行代码注入操作,并更新所述安装包包括:
将所述目标文件及所述通信SDK的存放路径转换成字符数组;
基于所述字符数组修改所述目标文件中与所述通信SDK相关的参数;
更新所述目标文件至所述安装包。
可选地,其中,所述基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名包括:
基于预设的脚本化工具,将每个应用程序的安装包中的旧签名删除;
将每个应用程序的安装包中的描述文件替换为所述签名描述文件;
采用所述预申请的证书进行签名。
根据本申请的另一方面,还提供了一种实现应用程序间通信的装置,其中,所述装置包括:
第一模块,用于基于构建的APP Group,确定签名描述文件;
第二模块,用于获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包;
第三模块,用于基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。
与现有技术相比,本申请通过一种实现应用程序间通信的方法、装置及设备,首先基于构建的APP Group,确定签名描述文件,接着获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包,然后基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。通过该方法,可在采用iOS系统的设备中高效实现多个应用程序间通信,且不限制各应用程序间通信数据的大小,还可以高效地实现不同开发者账号下的应用程序间通信,拓展了采用iOS系统的设备中的应用程序的应用场景,具有非常实用的价值。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种实现应用程序间通信的方法流程图;
图2示出一个实施例的创建APP Group的示意图;
图3示出一个实施例的iOS系统的应用程序的安装包中的目标文件结构示意图;
图4示出根据本申请另一个方面的一种实现应用程序间通信的装置示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,系统各模块和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及优选实施例,对本申请的技术方案,进行清楚和完整的描述。
图1示出本申请一个方面的一种实现应用程序间通信的方法流程图,其中,一个实施例的方法包括:
S11基于构建的APP Group,确定签名描述文件;
S12获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包;
S13基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名;
S14基于重签名后的应用程序的安装包,安装并应用所述应用程序,以实现所述应用程序间通信。
在本申请中,所述方法通过设备1执行,所述设备1为具备iOS系统应用程序开发环境的计算机设备或云。其中,所述计算机设备包括但不限于智能手机、平板电脑、PAD、个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
iOS系统对第三方应用程序的签名有效性的验证过程通常是通过证书来验证检验应用程序的安装包中的相关信息的合法性,比如通过证书校验签名描述文件mobileprovision、拟安装的授权设备信息及与应用程序唯一对应的标识Bundle ID。
在该实施例中,在所述步骤S11中,设备1通过登录开发者中心创建一个APPGroup,然后将该APP Group的信息配置在签名描述文件。
可选地,其中,所述步骤S11包括:
基于预设的iOS系统企业级开发账号,创建APP Group;
基于所述APP Group,配置所述签名描述文件。
通常iOS系统开发者账号开发的应用程序只能通过苹果应用商店发布,而iOS系统企业级开发者的账号可直接发布应用程序的安装包给设备,不受苹果商店限制。因此,iOS系统开发者账号开发的应用程序若需要更新版本,每次都必须通过苹果官方验证有效性后才能通过苹果应用商店发布。
继续在所述步骤S11中,设备1通过具有更高权限的iOS系统企业级开发者账号登录开发者中心,创建一个APP Group,比如,如图2所示,创建一个唯一识别名为group.simon.test.app.group的APP Group。然后将该APP Group的信息配置在应用程序的签名描述文件中,比如,可将上述创建的APP Group的唯一识别名group.simon.test.app.group配置在应用程序的签名描述文件mobileprovision中。
继续在所述实施例中,在所述步骤S12中,设备1获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包。比如,在所述实施例的一个应用场景中,要在应用程序A和应用程序B之间实现通信,则设备1获取应用程序A的安装包和应用程序B的安装包,以及通信SDK。
其中,通信SDK是基于APPGroup的应用程序间通信功能编写的dylb(dynamiclibrary,动态库),将其集成在需要进行进程间通信的应用程序的安装包中,应用程序安装、运行后通过该通信SDK内部共享数据池功能实现可实现不同应用程序间通信,其中,该通信SDK内部共享数据池利用iOS系统设备的内存空间,无需专门配置存储空间,各应用程序间通信的数据量理论上只受安装应用程序的iOS系统设备的内存空间的限制。
比如,通信SDK内部共享数据池功能的一种实现机制的基于Objective-C语言的核心代码如下:
……
//读取数据共享配置文件参数
NSUserDefaults*ConfigDefaults=[[NSUserDefaults alloc]initWithSuiteName:@"group.MobilewiseHook"];
NSMutableDictionary*configDic=[[NSMutableDictionary alloc]init];
configDic=[ConfigDefaults objectForKey:@"emmConfig"];
//读取共享数据池中的信息
NSString*K_ServerUrl=[ConfigDefaultsvalueForKey:k_ServerURL_BYOD_config];
NSString*K_udid=[ConfigDefaultsvalueForKey:k_UDID_BYOD_config];
……
可选地,其中,所述将所述通信SDK集成进每个应用程序的安装包包括:
基于预设的脚本化工具,将所述通信SDK合并到每个应用程序的安装包中;
将每个应用程序的安装包中的所述通信SDK的存放路径写入所述应用程序的安装包的目标文件中;
执行代码注入操作,并更新所述安装包,以实现将所述通信SDK集成进每个应用程序的安装包。
通过预设计好的脚本化工具,可以高效、快速地将通信SDK集成进需要进行进程间通信的多个应用程序的安装包。
比如,继续在所述实施例的上述应用场景中,解压应用程序A的安装包,进入解压文件夹,找到二进制目标文件mach-o所在路径,通常是在解压文件夹的一级目录中,再将通信SDK文件存放在解压文件夹下的Framework文件夹中。目标文件mach-o的结构如图3所示,通过预设计好的脚本化工具,将通信SDK的存放路径加入mach-o文件的执行路径(executable_path)中,若应用程序A的安装包解压后得到解压文件夹A,则加入mach-o文件的执行路径为:A/Framework/通信SDK.dylib;接着执行代码注入操作,并更新应用程序A的安装包,以实现将所述通信SDK集成进应用程序A的安装包。同样地,可对应用程序B的安装包做同样的操作,以实现将所述通信SDK集成进应用程序B的安装包。
可选地,其中,所述执行代码注入操作,并更新所述安装包包括:
将所述目标文件及所述通信SDK的存放路径转换成字符数组;
基于所述字符数组修改所述目标文件中与所述通信SDK相关的参数;
更新所述目标文件至所述安装包。
比如,继续在所述实施例的上述应用场景中,将通信SDK分别存放至将应用程序A、B的安装包解压得到的各自文件夹下的Framework文件夹中,并通过预设计好的脚本化工具将其路径写入各自的目标文件mach-o后,执行代码注入操作,并更新应用程序A、B的安装包。其中,执行代码注入操作,并更新应用程序A、B的操作包括:
分别把应用程序A、B对应的解压文件夹中的目标文件mach-o中通信SDK的存放路径由NSString对象转换为字符数组,比如Objective-C语言的字符数组,接着获取目标文件mach-o起始的4096个字节,修改其中与通信SDK相关的参数,比如修改其中与通信SDK相关的dylib_size值为dylib_command+name路径的字符串、将commands数量加1,然后将包含更新的目标文件mach-o及通信SDK的应用程序A、B的解压文件夹分别压缩打包成各自的安装包,以将更新的目标文件mach-o更新至应用程序A、B各自的安装包。
继续在所述实施例中,在所述步骤S13中,设备1基于上述步骤S11确定的所述签名描述文件,以及从苹果官方预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信,即可通过所述APP Group建立内部共享数据池,实现各应用程序间通信。
可选地,其中,所述基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名包括:
基于预设的脚本化工具,将每个应用程序的安装包中的旧签名删除;
将每个应用程序的安装包中的描述文件替换为所述签名描述文件;
采用所述预申请的证书进行签名。
比如,在所述实施例的上述应用场景中,若应用程序A、B是同一iOS系统开发者账号开发的,则在开发中将通信SDK集成进应用程序A、B的安装包,然后按照常规流程进行签名验证合法性后通过苹果官方渠道发布后即可正常使用,实现应用程序A、B间通信。但若应用程序A、B是不同iOS系统开发者账号开发的,其安装包在经过上述步骤S12集成通信SDK后,是不能直接通过苹果官方的签名合法性验证的,需要对更新后的应用程序A、B的安装包进行重签名,使得应用程序A、B支持应用程序A、B之间通信。而通过预设计好的脚本化工具可以实现对更新后的应用程序A、B的安装包进行高效、快速地重签名。其中,预设计好的脚本化工具还可以实现在脱离iOS系统钥匙串环境的linux系统中,使得所述步骤S13实现操作自动化,可实现快速批量地对企业应用进行完全重签名操作,提高了重签名效率。
继续在所述实施例的上述应用场景中,通过预设计好的脚本化工具,将应用程序A、B的安装包分别解压,接着将各自解压文件夹中的旧签名删除,再分别将各自解压文件夹中的描述文件替换为上述步骤S11确定的签名描述文件,然后采用预申请的证书进行完全重签名后再压缩打包成压缩包,完成对应用程序A、B的安装包的重签名。
比如,以拟安装在iphone设备中的应用程序A为例,
1.将应用程序A的安装包A.ipa解压,解压后得到解压文件夹
unzip A.ipa
2.从解压文件夹中删除签名CodeSignature
rm-rf Payload/A.app/_CodeSignature
3.将原签名文件替换成新的签名描述文件
mv inhouse.mobileprovision Payload/A.app/embedded.mobileprovision
4.用预申请的证书签名
/usr/bin/codesign-f-s"iPhone Distribution:XXXXX(XXX)"--entitlementsentitlements.plist Payload/A.app/BashCopy
5.压缩打包成A.ipa
zip-r inhouse.ipa Payload/
在所述实施例中,还包括设备1将重签名后的应用程序的安装包发布后,iOS系统设备获取上述重签名后的应用程序的安装包,安装并应用所述应用程序,可通过所述应用程序间通信实现数据共享。比如,继续在所述实施例的一个应用场景中,设备1将重签名后的应用程序A、B发布后,iphone设备下载应用程序A、B,希望应用程序A、B能共享登录账户。应用程序A在应用启动后输入用户名和密码,登录成功后被保存下来,应用程序B在应用启动后可通过读取应用程序A保存的用户名和密码,直接登录,而无需再输入用户名和密码。
图4示出根据本申请另一个方面的一种实现应用程序间通信的装置示意图,其中,一个实施例的所述装置包括:
第一模块41,用于基于构建的APP Group,确定签名描述文件;
第二模块42,用于获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包;
第三模块43,用于基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。
其中,所述装置集成在设备中,所述设备与上述设备1相同。
所述设备1的第一模块41通过登录开发者中心创建一个APP Group,然后将该APPGroup的信息配置在签名描述文件,第二模块42获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包,第三模块43基于所述第一模块41确定的所述签名描述文件,以及从苹果官方预申请的证书,对经所述第二模块42处理得到的已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信,即可通过所述APP Group建立内部共享数据池,实现各应用程序间通信。
根据本申请的还一方面,还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述方法。
根据本申请的再一方面,还提供了一种实现应用程序间通信的设备,其中,该设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:基于构建的APPGroup,确定签名描述文件;获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包;基于所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (8)

1.一种实现应用程序间通信的方法,其特征在于,所述方法包括:
基于构建的APP Group,确定签名描述文件;
获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包,其中,所述通信SDK内部共享数据池;
基于预设的脚本化工具、所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。
2.根据权利要求1所述的方法,其特征在于,所述基于构建的APP Group,确定签名描述文件包括:
基于预设的iOS系统企业级开发账号,创建APP Group;
基于所述APP Group,配置所述签名描述文件。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述通信SDK集成进每个应用程序的安装包包括:
基于预设的脚本化工具,将所述通信SDK合并到每个应用程序的安装包中;
将每个应用程序的安装包中的所述通信SDK的存放路径写入所述应用程序的安装包的目标文件中;
执行代码注入操作,并更新所述安装包,以实现将所述通信SDK集成进每个应用程序的安装包。
4.根据权利要求3所述的方法,其特征在于,所述执行代码注入操作,并更新所述安装包包括:
将所述目标文件及所述通信SDK的存放路径转换成字符数组;
基于所述字符数组修改所述目标文件中与所述通信SDK相关的参数;
更新所述目标文件至所述安装包。
5.根据权利要求1所述的方法,其特征在于,所述基于预设的脚本化工具、所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名包括:
基于预设的脚本化工具,将每个应用程序的安装包中的旧签名删除;
将每个应用程序的安装包中的描述文件替换为所述签名描述文件;
采用所述预申请的证书进行签名。
6.一种实现应用程序间通信的装置,其特征在于,所述装置包括:
第一模块,用于基于构建的APP Group,确定签名描述文件;
第二模块,用于获取每个应用程序的安装包及通信SDK,并将所述通信SDK集成进每个应用程序的安装包,其中,所述通信SDK内部共享数据池;
第三模块,用于基于预设的脚本化工具、所述签名描述文件及预申请的证书,对已集成所述通信SDK的每个应用程序的安装包进行重签名,使得每个应用程序支持应用程序间通信。
7.一种计算机可读介质,其特征在于,
其上存储有计算机可读指令,所述计算机可读指令被处理器执行以实现如权利要求1至5中任一项所述的方法。
8.一种实现应用程序间通信的设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至5中任一项所述方法的操作。
CN202110426265.8A 2021-04-20 2021-04-20 一种实现应用程序间通信的方法、装置及设备 Active CN113138867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110426265.8A CN113138867B (zh) 2021-04-20 2021-04-20 一种实现应用程序间通信的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110426265.8A CN113138867B (zh) 2021-04-20 2021-04-20 一种实现应用程序间通信的方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113138867A CN113138867A (zh) 2021-07-20
CN113138867B true CN113138867B (zh) 2023-05-26

Family

ID=76812804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110426265.8A Active CN113138867B (zh) 2021-04-20 2021-04-20 一种实现应用程序间通信的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113138867B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348895A (zh) * 2013-08-09 2015-02-11 腾讯科技(深圳)有限公司 移动终端中程序间共享数据的方法及装置
CN112470428A (zh) * 2018-06-08 2021-03-09 威睿公司 未托管的安全的应用程序间数据通信

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459711B2 (en) * 2008-08-12 2019-10-29 Adobe Inc. Updating applications using migration signatures
JP6479758B2 (ja) * 2013-03-15 2019-03-06 オラクル・インターナショナル・コーポレイション コンピュータ上におけるアプリケーション間の信頼性の確立
CN106126290B (zh) * 2016-06-27 2019-08-13 微梦创科网络科技(中国)有限公司 应用程序优化方法、装置及系统
CN110321669A (zh) * 2019-06-04 2019-10-11 平安科技(深圳)有限公司 应用程序重签名的方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348895A (zh) * 2013-08-09 2015-02-11 腾讯科技(深圳)有限公司 移动终端中程序间共享数据的方法及装置
CN112470428A (zh) * 2018-06-08 2021-03-09 威睿公司 未托管的安全的应用程序间数据通信

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Android重包装应用程序静态分析系统的设计;孙翌博;邰淳亮;宫婧;;科技资讯(29);125-127 *

Also Published As

Publication number Publication date
CN113138867A (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN106796508B (zh) 在云平台上的快速部署
US10218790B2 (en) Providing access to a resource for a computer from within a restricted network
US9219611B1 (en) Systems and methods for automating cloud-based code-signing services
US20200334032A1 (en) Version History Management Using a Blockchain
CN103858130A (zh) 管理权限方法、装置及终端
CN105573734B (zh) 一种用于提供sdk文件的方法与设备
US10574642B2 (en) Protecting a web server against an unauthorized client application
US20170286081A1 (en) Silent Installation of Software with Dependencies
CN111897623B (zh) 一种集群管理方法、装置、设备及存储介质
WO2022022126A1 (en) Validating tracked portions of received sensor data using computer cryptographic processing
CN110442424A (zh) 一种实现虚拟机管理平台动态配置规则的方法和装置
CN104036194A (zh) 一种应用程序中泄露隐私数据的漏洞检测方法及装置
CN111865616B (zh) 基于ecdsa算法生成密钥对的方法及装置
US10789518B2 (en) Barcode-based enrollment of devices with a management service
US11496291B2 (en) Validating received sensor data using computer cryptographic processing
CN113138867B (zh) 一种实现应用程序间通信的方法、装置及设备
CN116029526B (zh) 一种实验资源的调度方法、装置、设备及存储介质
US20230376600A1 (en) Method and system for upgrading firmware of vehicle infotainment system
CN112230930A (zh) 混合技术栈构建打包的方法和装置及机器可读存储介质
CN114691157A (zh) 基于云的fpga管理控制系统、方法及电子设备
CN114238934A (zh) 一种设备信息获取方法、装置、设备及介质
US10853057B1 (en) Software library versioning with caching
CN112114824A (zh) 一种基于Linux的软件部署方法及设备
KR101745821B1 (ko) 시큐어 부팅 방법 및 시스템
CN104484198A (zh) 一种安装应用程序的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant