应用程序运行控制的方法及装置制造方法及图纸

技术编号:13771749 阅读:88 留言:0更新日期:2016-09-29 17:11
本发明专利技术提供了一种应用程序运行控制的方法,包括:反射调用与宿主应用程序具有相同包名的作为宿主应用程序附带资源的安装包,以加载该安装包所实现的目标应用程序,其中,目标应用程序的所需资源与原生应用程序的所需资源一一对应;通过钩子函数对目标应用程序的活动进程进行监控;当通过钩子函数监测到对目标应用程序的活动进程的调用指令时,调用与目标应用程序的所需资源一一对应的原生应用程序的所需资源。本发明专利技术还提供了一种应用程序运行控制的装置。通过执行目标应用程序的相关资源,能够实现与执行原生应用程序的相关资源完全相同的执行结果;且目标应用程序运行在通过宿主应用程序构建的沙箱中,其安装及运行活动均不被系统所感知。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,本专利技术涉及一种应用程序运行控制的方法,及一种应用程序运行控制的装置。
技术介绍
随着时代的发展,各种终端设备已成为人们生活中必不可少的工具,各种功能强大的终端操作系统及终端应用程序不断涌现,为用户带来了更加便捷的体验。现有技术中,应用程序在终端设备的系统环境中仅可以唯一的形式安装并运行,即对于一种即时通信类应用程序,在一台终端设备中仅可以安装并运行一个该即时通信类应用程序,用户仅可以通过唯一的账号登录并对其执行相关操作。但是,随着即时通信类应用程序的普及,越来越多的用户希望在一台终端设备中通过多个账号登录一种即时通信类应用程序以实现对不同好友信息的区分管理及交流。现有技术中,具有通过多个域账号在不同操作系统之间的切换来实现在一台终端设备中通过多个账号登录一种即时通信类应用程序的解决方案。但是,该方案需要最高系统级别的权限且基于多操作系统才可以实现,并不具有普适性。现有技术中,沙箱是一种按照安全策略限制程序行为的执行环境,目前已经广泛实用于各种操作系统中。以Android为例,一些应用程序,出于实现应用程序固有功能需要之外的目的,特别是商业目的,随意申请系统权限,获取用户隐私数据、执行网络访问、保持设备活动、发送短信行为等。轻则可能导致用户隐私数据泄露,或者占用系统资源,重则可能通过恶意扣费、植入广告、消耗资费、欺诈诱骗等,使用户遭受损失。因此,通过沙箱技术提供的执行环境,由沙箱对系统的资源、权限进行管理,让应用程序于该沙箱中运行,应用程序的访问先经沙箱按安全策略进行审查,由此,形成一种相对于系统本身的隔离运行效果,可以有效地保护系 统的安全。对于沙箱中所用到的安全策略,适应各种不同的操作系统有不同的细节考虑,这些有关技术实现的基本知识,均已为本领域技术人员所掌握,恕不赘述。因此,需要一种通过沙箱技术来执行目标应用程序运行的解决方案,使得运行于沙箱中目标应用程序可实现原生应用程序的全部功能及相应服务。
技术实现思路
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:本专利技术的实施例提出了一种应用程序运行控制的方法,包括:反射调用与宿主应用程序具有相同包名的作为宿主应用程序附带资源的安装包,以加载该安装包所实现的目标应用程序,其中,所述目标应用程序的所需资源与原生应用程序的所属资源一一对应;通过钩子函数对所述目标应用程序的活动进程进行监控;当通过钩子函数监测到对目标应用程序的活动进程的调用指令时,调用与所述目标应用程序的所属资源一一对应的所述原生应用程序的所属资源。优选地,加载该安装包所实现的目标应用程序的步骤,包括:通过所述宿主应用程序,来建立所述目标应用程序的所需资源与原生应用程序的所需资源的一一对应关系。优选地,建立所述目标应用程序的所需资源与原生应用程序的所需资源的一一对应关系,具体包括:解析所述安装包以确定目标应用程序的所属资源的资源名;根据目标应用程序的所属资源的资源名,加载与原生应用程序的所需资源一一对应的资源。优选地,所述目标应用程序包括预留扩展项,以用于与所述原生应用程序的扩展资源相匹配。优选地,该方法还包括:检测到所述原生应用程序的更新服务,基于 所述目标应用程序的预留扩展项更新所述目标应用程序的所需资源。其中,所述宿主应用程序的资源文件和/或动态库文件与所述安装包中的相应文件相同。优选地,该方法还包括:通过执行所述目标应用程序的所需资源,以实现与执行所述原生应用程序的所属资源相同的执行结果。其中,所述目标应用程序的所属资源,包括以下至少任一项:ActivityManagerService资源;PackageManagerService资源;Activity组件;Service组件;Broadcast Receiver组件;Content Provider组件。本专利技术的另一实施例提出了一种应用程序运行控制的装置,包括:加载模块,用于反射调用与宿主应用程序具有相同包名的作为宿主应用程序附带资源的安装包,以加载该安装包所实现的目标应用程序,其中,所述目标应用程序的所需资源与原生应用程序的所需资源一一对应;监控模块,用于通过钩子函数对所述目标应用程序的活动进程进行监控;调用模块,用于当通过钩子函数监测到对目标应用程序的活动进程的调用指令时,调用与所述目标应用程序的所需资源一一对应的所述原生应用程序的所需资源。优选地,所述加载模块包括:建立单元,用于通过所述宿主应用程序,来建立所述目标应用程序的所需资源与原生应用程序的所需资源的一一对应关系。优选地,所述建立单元具体包括:解析子单元,用于解析所述安装包以确定目标应用程序的所需资源的资源名;加载子单元,用于根据目标应用程序的所需资源的资源名,加载与原 生应用程序的所需资源一一对应的资源。优选地,所述目标应用程序包括预留扩展项,以用于与所述原生应用程序的扩展资源相匹配。优选地,该装置还包括:更新模块,用于检测到所述原生应用程序的更新服务,基于所述目标应用程序的预留扩展项更新所述目标应用程序的所需资源。其中,所述宿主应用程序的资源文件和/或动态库文件与所述安装包中的相应文件相同。优选地,还包括:实现模块,用于通过执行所述目标应用程序的所需资源,以实现与执行所述原生应用程序的所需资源相同的执行结果。其中,所述目标应用程序的所需资源,包括以下至少任一项:ActivityManagerService资源;PackageManagerService资源;Activity组件;Service组件;Broadcast Receiver组件;Content Provider组件。本专利技术的实施例中,借助反射调用机制去加载与宿主应用程序具有相同包名的目标应用程序,由于与宿主应用程序具有相同的包名,在Android系统中,既能使活动组件和服务组件建立与ActivityManagerService的正常通信,又能使活动组件、服务组件以及广播组件等,顺利被PackageManagerService识别,降低现有技术中有关加壳应用程序运行异常的错误率;由于宿主应用程序与目标应用程序使用了相同的包名,不必为被反射调用的目标应用程序的各个组件(Activity,Service,Broadcast Receiver和Content Provider)单独构造主函数入口(ActivityThread.main),也不必考虑因包名而带来的PackageManagerService校验的程序实现复杂度问题,从而大大提高程序运行效率;通过宿主应用程序中建立起原安装包的目标应用程序与沙箱运行环境之间的通信,使得目标应用程序的活动 过程可以进一步被沙箱运行环境监视,从而对其适用安全策略,并通过在宿主应用程序中建立目标应用程序的所需资源与原生应用程序的所需资源一一对应,可在宿主应用程序中通过钩子函数调用目标应用程序的所需的对应资源,确保目标应用程序能被宿主应用程序正常加载并保持安全运行,且实现了目标应用程序完全独立于原生应用程序。本专利技术中,通过执行目标应用程序的相关资源,能够实现与执行原生应用程序的相关资源完全相同的执行结果;且目标应用程序运行在通过宿主应用程序构建的沙箱中,其安装及运行活动均不被系统所感知,从而可以解决现有技本文档来自技高网
...

【技术保护点】
一种应用程序运行控制的方法,其特征在于,包括:反射调用与宿主应用程序具有相同包名的作为宿主应用程序附带资源的安装包,以加载该安装包所实现的目标应用程序,其中,所述目标应用程序的所需资源与原生应用程序的所属资源一一对应;通过钩子函数对所述目标应用程序的活动进程进行监控;当通过钩子函数监测到对目标应用程序的活动进程的调用指令时,调用与所述目标应用程序的所属资源一一对应的所述原生应用程序的所属资源。

【技术特征摘要】
1.一种应用程序运行控制的方法,其特征在于,包括:反射调用与宿主应用程序具有相同包名的作为宿主应用程序附带资源的安装包,以加载该安装包所实现的目标应用程序,其中,所述目标应用程序的所需资源与原生应用程序的所属资源一一对应;通过钩子函数对所述目标应用程序的活动进程进行监控;当通过钩子函数监测到对目标应用程序的活动进程的调用指令时,调用与所述目标应用程序的所属资源一一对应的所述原生应用程序的所属资源。2.根据权利要求1所述应用程序运行控制的方法,其中,加载该安装包所实现的目标应用程序的步骤,包括:通过所述宿主应用程序,来建立所述目标应用程序的所需资源与原生应用程序的所需资源的一一对应关系。3.根据权利要求2所述的应用程序运行控制的方法,其中,建立所述目标应用程序的所需资源与原生应用程序的所需资源的一一对应关系,具体包括:解析所述安装包以确定目标应用程序的所属资源的资源名;根据目标应用程序的所属资源的资源名,加载与原生应用程序的所需资源一一对应的资源。4.根据权利要求1所述的应用程序运行控制的方法,所述目标应用程序包括预留扩展项,以用于与所述原生应用程序的扩展资源相匹配。5.根据权利要求4所述的应用程序运行控制的方法,该方法还包括:检测到所述原生应用程序的更新服务,基于所述目标应用程序的预留扩展项更新所述目标应用程序的所需资源。6.一种...

【专利技术属性】
技术研发人员:刘刚
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1