CN108399331A - 应用进程试用方法和*** - Google Patents

应用进程试用方法和*** Download PDF

Info

Publication number
CN108399331A
CN108399331A CN201710065906.5A CN201710065906A CN108399331A CN 108399331 A CN108399331 A CN 108399331A CN 201710065906 A CN201710065906 A CN 201710065906A CN 108399331 A CN108399331 A CN 108399331A
Authority
CN
China
Prior art keywords
virtual
application
operation area
application process
trial
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.)
Granted
Application number
CN201710065906.5A
Other languages
English (en)
Other versions
CN108399331B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710065906.5A priority Critical patent/CN108399331B/zh
Publication of CN108399331A publication Critical patent/CN108399331A/zh
Application granted granted Critical
Publication of CN108399331B publication Critical patent/CN108399331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

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

Abstract

一种应用进程试用方法,包括:获取应用试运行指令;根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息;通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行。本申请还提供一种应用进程试用***。将下载应用的安装包在虚拟运行区中使用,由于虚拟运行区与终端的***服务的进程运行环境是隔离的,不会产生安全风险;进程试用前不需要真实安装应用进程,而是可以通过试用的真实体验后再决定是否需要该应用并且真实安装有助于用户选择真正想要的应用进程,提高有效分发,而且减少安全隐患。

Description

应用进程试用方法和***
技术领域
本发明涉及软件应用技术领域,特别是涉及一种应用进程试用方法和***。
背景技术
互联网的发展带来了形形色色的软件应用进程,例如即时通讯类应用、社交类应用、游戏类应用、翻译类应用等等。这些应用通常可以集中在应用市场中呈现给移动终端用户,供移动终端用户浏览及下载使用。移动终端用户在下载应用时,面对大量的应用尤其是同类型的应用,通常不知道该如何选择,需要先安装应用后再运行进行试用。
然而,以上方式需要通过事先安装进行试用后才能了解该应用是否为自己所需要的,操作繁琐试用门槛高,且目前也有很多伪装的恶意应用在使用前无法辨别,一旦安装会带来安全风险。
相关技术中,对于上述问题,尚无有效解决方案。
发明内容
基于此,有必要提供一种操作简单、安全的应用进程试用方法和***。
一种应用进程试用方法,包括:
获取应用试运行指令;
根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息;
通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行。
一种应用进程试用***,包括:
获取模块,用于获取应用试运行指令;
解析模块,用于根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息;
运行模块,用于通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行。
上述应用进程试用方法和***,通过虚拟运行区模拟应用于移动终端内运行时的运行环境,将下载应用的安装包在虚拟运行区中使用,由于虚拟运行区与终端的***服务的进程运行环境是隔离的,不会产生安全风险;进程试用前不需要真实安装应用进程,而是可以通过试用的真实体验后再决定是否需要该应用并且真实安装有助于用户选择真正想要的应用进程,提高有效分发,操作简单且减少安全隐患。
附图说明
图1为一实施例中应用进程试运行方法的***架构图;
图2为一实施例中移动终端的内部结构示意图;
图3为一实施例中应用进程试运行方法的流程图;
图4为另一实施例中应用进程试运行方法的流程图;
图5为又一实施例中应用进程试运行方法的流程图;
图6为另一实施例中应用进程试运行方法的流程图;
图7为又一实施例中应用进程试运行方法的流程图;
图8为另一实施例中应用进程试运行方法的流程图;
图9为再一实施例中应用进程试运行方法的流程图;
图10为一存储类应用进入试运行程序的示意图;
图11为一存储类应用试运行程序结束后再安装的示意图;
图12为一实施例中应用进程试运行***的结构示意图;
图13为另一实施例中应用进程试运行***的结构示意图;
图14为又一实施例中应用进程试运行***的结构示意图;
图15为另一实施例中应用进程试运行***的结构示意图;
图16为再一实施例中应用进程试运行***的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明实施例提供的用户分类方法可应用于图1所示的***中,如图1所示,终端100通过网络与服务器200进行通信,终端100通过网络获取服务器所推送的应用进程,如云存储类应用、即时通讯类应用、社交类应用、游戏类应用、翻译类应用等等,并获取终端用户输入的对相应的应用进程的试运行指令或运行结束指令,根据所述应用试运行指令或运行结束指令完成对相应应用进程的试用。终端100通常为移动终端,如智能手机、平板电脑、个人数字助理(PDA)等。服务器200可以为独立的物理服务器或者物理服务器集群。
本发明实施例提供的应用进程试用方法可应用于图2所示的终端中。如图2所示,移动终端100包括通过***总线连接的处理器、非易失性存储介质、内存储器、网络接口以及显示屏。处理器具有计算功能和控制移动终端工作的功能,该处理器被配置为执行一种应用进程试用方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式存储介质中的至少一种,非易失性存储介质存储有操作***和应用进程试用***。该应用进程试用***用于实现对应用进程进行试运行的方法。网络接口用于连接到服务器,用于与服务器进行通信,接收来自网络的资源。
如图3所示,为本申请一实施例提供的一种应用进程试用方法,该方法可应用于图2所示的移动终端中,具体包括如下步骤。
步骤101,获取应用试运行指令。
应用进程包含用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合。应用进程通常为满足用户不同领域、不同问题的应用需求而提供的软件程序,常用的应用进程包括即时通讯类应用进程、社交类应用进程、游戏类应用进程、翻译类应用进程等等。应用试运行指令可以为点击试运行应用进程或者打开应用进程的操作指令。应用试运行指令可以为预设规则的操作,如通过触摸或者点击预设控件的操作。优选的,在获取应用试运行指令的步骤前,还包括获取下载应用指令,根据所述下载应用指令下载应用的安装包。
步骤103,根据试运行指令加载应用的代码和资源存入虚拟运行区,并解析应用的信息描述文件获取应用的启动信息。
每一应用进程由代码实现,应用进程的运行都需要使用资源。资源是在逻辑上由应用进程部署的任何非可执行数据。资源可以在应用进程中作为错误数据显示,或者作为用户界面的一部分显示。资源可以包含多种形式的数据,包括字符串、图像和持久的对象。虚拟运行区是指模拟的与***标准应用进程运行时对应的虚拟运行环境,其与终端***的真实运行环境相互隔离。根据试运行指令从应用进程的安装包内加载应用的代码和资源并存入虚拟运行区,解析应用的信息描述文件获取应用的启动信息。在一具体的实施例中,移动终端为常用的Android***终端,信息描述文件为AndroidManifest.xml文件。
步骤105,通过虚拟运行区将启动信息转发给***服务,在虚拟运行区内启动应用并运行。
***服务是指执行指定***功能的程序或进程,以便支持其他程序。将待试用应用进程的启动信息转发给***服务,以便能够在***服务的支持下通过虚拟运行区实现试运行。
上述应用进程试用方法,通过虚拟运行区模拟应用于移动终端内运行时的运行环境,将下载应用的安装包在虚拟运行区中使用,由于虚拟运行区与终端的***服务的进程运行环境是隔离的,不会产生安全风险;进程试用前不需要真实安装应用进程,而是可以通过试用的真实体验后再决定是否需要该应用并且真实安装有助于用户选择真正想要的应用进程,提高有效分发,而且减少安全隐患。
如图4所示,在另一个实施例中,步骤103,根据试运行指令加载应用的代码和资源存入虚拟运行区,并解析应用的信息描述文件获取应用的启动信息的步骤之前,还包括:
步骤102,模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动虚拟容器作为虚拟运行区。
在一具体的实施例中,移动终端为常用的Android***终端,虚拟运行区为模拟Android***的标准应用进程运行时环境对应的虚拟运行环境,即虚拟容器。容器是一个服务程序,在服务器一个端口对应一个提供相应服务的服务程序,通过该服务程序处理从客户端发出的请求,通过虚拟容器的设置,给处于虚拟容器内的应用程序组件提供一个环境,使得应用程序组件直接跟容器中的服务接***互,与Android***的真实运行环境相隔离。Android***是常用的手机操作***,目前的Android***终端在真实安装应用进程之前无法进行试用以了解进程功能与性能,而对每一应用都真实安装后再试用对终端带来安全隐患问题,从而可通过模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境来形成虚拟运行区,以实现Android***的应用试用后再安装的功能。
如图5所示,在另一个实施例中,步骤102,模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动虚拟容器作为虚拟运行区的步骤包括:
步骤1021,通过hook技术模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动虚拟容器作为虚拟运行区。
hook技术是指计算机程序中劫持对某个函数调用的技术。hook技术通常包括gothook和inline hook,got hook指在函数运行时修改ELF(Electronic Location Finder,电子***)可重定位文件中的got表的函数hook方式;inline hook指在运行时修改被调用的函数起始位置指令的函数hook方式。通过hook技术在Android***的标准应用进程运行时修改其与Android***服务交互的本地Binder代理对象,以模拟Android***的AMS(Activity Manager Service)***服务/PMS(Package Manager Service)***服务,提供与Android***的标准应用进程运行时环境对应的虚拟运行环境。其中,通过hook技术实现虚拟容器的创建,从而提供支持应用进程免真实安装之前试运行的运行环境。
如图6所示,在另一个实施例中,步骤1021,通过hook技术模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动虚拟容器作为虚拟运行区的步骤包括:
步骤1023,启动Andriod***的标准应用进程;
步骤1025,通过Java反射机制,替换与Andriod***服务交互的本地Binder代理对象,通过动态代理技术将被代理对象的远程调用方法重定向到自定义的虚拟***服务,以模拟出与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器;
步骤1027,启动虚拟容器作为虚拟运行区。
Java反射机制是指在运行状态中,对于任意一个类都知道这个类的所有属性和方法,对于任意一个对象都能够调用它的任意方法和属性,这种动态获取信息以及调用对象方法的功能称为Java反射机制。启动Andriod***的标准应用进程,通过动态代理技术将被代理对象的远程调用方法重定向到自定义的虚拟***服务,以模拟出与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,从而可在不获取***root权限下即可实现创建虚拟容器。
如图7所示,在另一个实施例中,步骤103,模拟与Android***的标准应用进程对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区步骤之前,还包括:
步骤1020,获取***权限,通过***权限配置独立的虚拟存储空间,将所述虚拟存储空间作为虚拟运行区。
通过获取***权限下独立的虚拟存储空间的建立,作为与终端***的真实运行环境相互隔离的虚拟运行区,从而可以将待安装应用进程安装在该虚拟存储空间来实现试运行。由于虚拟运行区与终端的***服务的进程运行环境是隔离的,不会产生安全风险;进程试用前不需要真实安装应用进程,而是可以通过试用的真实体验后再决定是否需要该应用并且真实安装有助于用户选择真正想要的应用进程。
如图8所示,在另一个实施例中,步骤103,根据试运行指令加载应用的代码和资源存入虚拟运行区,并解析应用的信息描述文件获取应用的启动信息的步骤包括:
步骤1031,根据试运行指令通过类装载器加载应用的代码,通过创建应用程序资源管理器加载资源,并将应用的代码和资源存入虚拟运行区,并解析应用的信息描述文件获取应用的启动信息。
在一个具体的实施例中,移动终端为常用的Android***终端,通过Android***的类装载器(DexClassLoader)加载应用的代码,通过创建应用程序资源管理器(AssetManager)加载资源。将代码和资源加载到虚拟运行区所形成的隔离空间内。启动信息具体为应用的页面启动信息,包括应用的入口Activity的包名和类名。通过获取解析应用的信息描述文件获取应用的页面启动信息从而实现在虚拟运行区所形成的隔离空间内启动应用进程。
优选的,步骤105,通过虚拟运行区将启动信息转发给Andriod***服务,在虚拟运行区内启动应用并运行的步骤包括:
步骤1051,通过虚拟运行区将启动信息进行参数处理转化为Android***能够识别的已安装组件并转发给Android***服务,在虚拟运行区启动应用并运行。
通过虚拟运行区将启动信息进行参数处理转化为Android***能够识别的已安装组件并转发给Android***服务,也即通过代理方式将应用进程启动信息转发给Android***服务,完成应用进程页面启动和组件的生命周期管理。
优选的,步骤105,通过虚拟运行区将启动信息转发给Andriod***服务,在虚拟运行区内启动应用并运行的步骤之后,还包括:
步骤107,获取运行结束指令,根据运行结束指令结束运行并将应用的代码和资源从虚拟运行区中删除。
在应用进程试运行结束之后,将应用的代码和资源从虚拟运行区中自动删除,清空占用的内存空间。优选的,将应用的代码和资源从虚拟运行区中删除同时,删除加载时缓存到磁盘的临时文件。
请参阅图9,在另一个实施例中,步骤105,通过虚拟运行区将启动信息转发给Andriod***服务,在虚拟运行区内启动应用并运行的步骤之后,还包括:
步骤1081,获取运行结束指令,根据运行结束指令结束运行并显示试运行结果确认页面;
步骤1083,通过试运行结果确认页面获取试运行结果确认信息;
步骤1084,当试运行结果确认为是时,获取确认安装指令并根据确认安装指令安装应用;
步骤1086,当试运行结果确认为否或未获取确认安装指令时,并将应用的代码和资源从虚拟运行区中删除。
其中,试运行结果确认页面提供用户对试运行应用的试用体验是否好的评价,以及改善建议的输入信息框等。应用进程试运行结束之后,根据试运行的体验结果再确定是否下载安装相应的应用进程,因此应用在真实安装之前是基于真实体验之后的决定,有助于用户选择真正想要的应用进程,提高应用进程的有效分发,也避免了错误安装恶意应用的风险,提高了安全性。在应用进程试运行结束之后,将应用的代码和资源从虚拟运行区中自动删除,清空占用的内存空间。优选的,将应用的代码和资源从虚拟运行区中删除同时,删除加载时缓存到磁盘的临时文件。
请参阅图10,以应用进程为某云存储类应用为例,该云存储类应用具体可以如百度网盘,在选择真实安装该云存储类应用之前先通过试用了解掌握该云存储应用的性能,该云存储应用的试用方法包括以下步骤:通过应用界面点击试玩操作按钮获取该云存储类应用的试运行指令;启动虚拟容器,通过hook技术虚拟出Android***的AMS/PMS等***服务,其中虚拟容器的基本原理是通过首先启动一个Android***的标准应用进程,通过java反射技术替换与Android***服务交互的本地Binder代理对象,再通过动态代理技术将被代理对象的远程调用方法重定向到自定义的虚拟***服务,从而模拟出一个与***标准服务对应的标准应用进程运行的虚拟运行环境作为该虚拟容器;根据该试运行指令加载该云存储应用的代码和资源存入该虚拟容器;解析该云存储应用的信息描述文件获取该云存储应用的页面启动信息,其中,信息描述文件具体为AndroidManifest.xml文件,页面启动信息具体包括该云存储应用的入口Activity的包名和类名;虚拟容器通过代理方式将页面启动信息传递给Android***服务以完成启动,从而进入到试玩程序。通过在虚拟运行区中运行试用以实际了解该云存储类应用的功能与操作方式,通过试玩之后从而可准确地判断该存储类应用是否为自己所需要的,根据试玩结果再决定进行安装或者不安装,并删除该虚拟容器中的该云存储应用的代码和资源,清空占用的内存空间,并同时删除加载时缓存到磁盘的临时文件。请参阅图11,获取运行结束指令与获取确认安装指令可以同时获取,当试玩体验较好,则可以通过应用界面点击结束试应并安装操作按钮,从而从试运行结束之后直接进入到安装程序,并将该虚拟容器中的该云存储应用的代码和资源进行删除。在其它实施例中,试运行结束指令与获取确认安装指令也可以分不同步骤获取,首先获取试运行结束指令结束试玩,再根据用户对试玩体验评价是否良好的指令之后获取是否确认安装指令。
请参阅图12,在另一实施例中,提供一种应用进程试运行***,包括获取模块10、解析模块13及运行模块15。获取模块10用于获取应用试运行指令。解析模块13用于根据试运行指令加载所述应用的代码和资源存入虚拟运行区,解析应用的信息描述文件获取应用的启动信息。运行模块15用于通过虚拟运行区将启动信息转发给***服务,在虚拟运行区内启动应用并运行。
在另一个实施例中,请参阅图13,还包括容器模块12。容器模块12用于模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动虚拟容器作为虚拟运行区。
优选的,所述容器模块12具体用于通过hook技术模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动虚拟容器作为虚拟运行区。
请参阅图14,在另一个实施例中,容器模块12包括进程单元121、代理单元123及启动单元125。进程单元121用于启动Andriod***的标准应用进程。代理单元123用于通过Java反射机制,替换与Andriod***服务交互的本地Binder代理对象,通过动态代理技术将被代理对象的远程调用方法重定向到自定义的虚拟***服务,以模拟出与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器。启动单元125用于启动虚拟容器作为虚拟运行区。
请参阅图15,在另一个实施例中,还包括配置模块120。配置模块120用于通过***权限配置独立的虚拟存储空间,将所述虚拟存储空间作为虚拟运行区。
优选的,解析模块13具体用于根据试运行指令通过类装载器加载应用的代码,通过创建应用程序资源管理器加载资源,并将应用的代码和资源存入虚拟运行区,并解析应用的信息描述文件获取所述应用的启动信息。
优选的,运行模块15具体用于通过虚拟运行区将启动信息进行参数处理转化为Android***能够识别的已安装组件并转发给Android***服务,在虚拟运行区启动所述应用并运行。
请参阅图16,在另一个实施例中,还包括删除模块17。删除模块17用于获取运行结束指令,根据运行结束指令结束运行并将应用的代码和资源从虚拟运行区中删除。
上述应用进程试用***,通过虚拟运行区模拟应用于移动终端内运行时的运行环境,将下载应用的安装包在虚拟运行区中使用,由于虚拟运行区与终端的***服务的进程运行环境是隔离的,不会产生安全风险;进程试用前不需要真实安装应用进程,而是可以通过试用的真实体验后再决定是否需要该应用并且真实安装有助于用户选择真正想要的应用进程,提高有效分发,而且减少安全隐患。
优选的,还包括结束模块、确认模块、安装模块及清理模块。结束模块用于获取运行结束指令,根据运行结束指令结束运行并显示试运行结果确认页面。确认模块用于通过试运行结果确认页面获取试运行结果确认信息。安装模块用于当试运行结果确认为是时,进一步获取确认安装指令并根据确认安装指令安装应用。清理模块用于当试运行结果确认为否或未获取确认安装指令时,并将应用的代码和资源从虚拟运行区中删除。
应用进程试运行结束之后,根据试运行的体验结果再确定是否下载安装相应的应用进程,因此应用在真实安装之前是基于真实体验之后的决定,有助于用户选择真正想要的应用进程,提高应用进程的有效分发,也避免了错误安装恶意应用的风险,提高了安全性。在应用进程试运行结束之后,将应用的代码和资源从虚拟运行区中自动删除,清空占用的内存空间。优选的,将应用的代码和资源从虚拟运行区中删除时,清理模块还用于同时删除加载时缓存到磁盘的临时文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅库达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (16)

1.一种应用进程试用方法,包括:
获取应用试运行指令;
根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息;
通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行。
2.如权利要求1所述应用进程试用方法,其特征在于:所述根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息的步骤之前,还包括:
模拟与Androi d***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区。
3.如权利要求2所述应用进程试用方法,其特征在于:所述模拟与Androi d***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区步骤包括:
通过hook技术模拟与Androi d***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区。
4.如权利要求3所述应用进程试用方法,其特征在于:所述通过hook技术模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区的步骤包括:
启动Andr i od***的标准应用进程;
通过Java反射机制,替换与Andr i od***服务交互的本地Bi nder代理对象,通过动态代理技术将被代理对象的远程调用方法重定向到自定义的虚拟***服务,以模拟出与Androi d***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器;
启动所述虚拟容器作为虚拟运行区。
5.如权利要求1所述应用进程试用方法,其特征在于:所述根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息的步骤之前,还包括:
通过***权限配置独立的虚拟存储空间,将所述虚拟存储空间作为虚拟运行区。
6.如权利要求1-5中任意一项所述应用进程试用方法,其特征在于:所述根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息的步骤包括:
根据所述试运行指令通过类装载器加载应用的代码,通过创建应用程序资源管理器加载资源,并将所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息。
7.如权利要求1-5中任意一项所述应用进程试用方法,其特征在于:所述通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行的步骤包括:
通过所述虚拟运行区将所述启动信息进行参数处理转化为Androi d***能够识别的已安装组件并转发给Androi d***服务,在所述虚拟运行区启动所述应用并运行。
8.如权利要求1-5中任意一项所述应用进程试用方法,其特征在于:所述通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行的步骤之后,还包括:
获取运行结束指令,根据所述运行结束指令结束运行并将所述应用的代码和资源从所述虚拟运行区中删除。
9.一种应用进程试用***,包括:
获取模块,用于获取应用试运行指令;
解析模块,用于根据所述试运行指令加载所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息;
运行模块,用于通过所述虚拟运行区将所述启动信息转发给***服务,在所述虚拟运行区内启动所述应用并运行。
10.如权利要求9所述应用进程试用***,其特征在于:还包括容器模块,用于模拟与Andro i d***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区。
11.如权利要求10所述应用进程试用***,其特征在于:所述容器模块具体用于通过hook技术模拟与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器,启动所述虚拟容器作为虚拟运行区。
12.如权利要求11所述应用进程试用***,其特征在于:所述容器模块包括:
进程单元,用于启动Andr iod***的标准应用进程;
代理单元,用于通过Java反射机制,替换与Andr iod***服务交互的本地Bi nder代理对象,通过动态代理技术将被代理对象的远程调用方法重定向到自定义的虚拟***服务,以模拟出与Android***的标准应用进程运行时环境对应的虚拟运行环境作为虚拟容器;
启动单元,用于启动所述虚拟容器作为虚拟运行区。
13.如权利要求9所述应用进程试用***,其特征在于:还包括配置模块,用于通过***权限配置独立的虚拟存储空间,将所述虚拟存储空间作为虚拟运行区。
14.如权利要求9-13中任意一项所述应用进程试用***,其特征在于:所述解析模块具体用于根据所述试运行指令通过类装载器加载应用的代码,通过创建应用程序资源管理器加载资源,并将所述应用的代码和资源存入虚拟运行区,并解析所述应用的信息描述文件获取所述应用的启动信息。
15.如权利要求9-13中任意一项所述应用进程试用***,其特征在于:所述运行模块具体用于通过所述虚拟运行区将所述启动信息进行参数处理转化为Android***能够识别的已安装组件并转发给Android***服务,在所述虚拟运行区启动所述应用并运行。
16.如权利要求9-13中任意一项所述应用进程试用***,其特征在于:还包括删除模块,用于获取运行结束指令,根据所述运行结束指令结束运行并将所述应用的代码和资源从所述虚拟运行区中删除。
CN201710065906.5A 2017-02-06 2017-02-06 应用进程试用方法和*** Active CN108399331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710065906.5A CN108399331B (zh) 2017-02-06 2017-02-06 应用进程试用方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710065906.5A CN108399331B (zh) 2017-02-06 2017-02-06 应用进程试用方法和***

Publications (2)

Publication Number Publication Date
CN108399331A true CN108399331A (zh) 2018-08-14
CN108399331B CN108399331B (zh) 2023-05-05

Family

ID=63093898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710065906.5A Active CN108399331B (zh) 2017-02-06 2017-02-06 应用进程试用方法和***

Country Status (1)

Country Link
CN (1) CN108399331B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002707A (zh) * 2018-08-31 2018-12-14 国鼎网络空间安全技术有限公司 基于虚拟容器的Android应用配置和数据共享的装置及方法
CN109669738A (zh) * 2018-12-29 2019-04-23 北京明朝万达科技股份有限公司 一种应用程序的启动方法及装置
CN110045998A (zh) * 2019-04-22 2019-07-23 腾讯科技(深圳)有限公司 加载动态库的方法及装置
CN112199151A (zh) * 2020-09-07 2021-01-08 成都安易迅科技有限公司 一种应用程序的运行方法及装置
CN112473147A (zh) * 2019-09-12 2021-03-12 厦门雅基软件有限公司 游戏试玩方法、云端设备、终端设备及存储介质
CN112953721A (zh) * 2021-01-28 2021-06-11 山东浪潮通软信息科技有限公司 一种ipa文件的解析方法、装置、设备及存储介质
CN114579254A (zh) * 2022-03-02 2022-06-03 科东(广州)软件科技有限公司 一种微内核虚拟化操作***的***调用方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331946A (zh) * 2011-09-28 2012-01-25 宇龙计算机通信科技(深圳)有限公司 应用程序的安装方法及***
WO2012044829A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc User interaction across cross-environment applications through an extended graphics context
CN104375861A (zh) * 2014-11-04 2015-02-25 北京奇虎科技有限公司 基于安卓平台的应用程序免安装运行的方法、装置及终端
CN105094922A (zh) * 2015-08-17 2015-11-25 北京奇虎科技有限公司 应用程序免安装运行控制方法及其装置
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及***与应用程序监控方法及***
CN106096395A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的保护处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044829A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc User interaction across cross-environment applications through an extended graphics context
CN102331946A (zh) * 2011-09-28 2012-01-25 宇龙计算机通信科技(深圳)有限公司 应用程序的安装方法及***
CN104375861A (zh) * 2014-11-04 2015-02-25 北京奇虎科技有限公司 基于安卓平台的应用程序免安装运行的方法、装置及终端
CN105094922A (zh) * 2015-08-17 2015-11-25 北京奇虎科技有限公司 应用程序免安装运行控制方法及其装置
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及***与应用程序监控方法及***
CN106096395A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的保护处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈莉君等: "Android进程间通信Binder扩展模型的设计与实现", 《西安邮电大学学报》, no. 03, 10 May 2013 (2013-05-10) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002707A (zh) * 2018-08-31 2018-12-14 国鼎网络空间安全技术有限公司 基于虚拟容器的Android应用配置和数据共享的装置及方法
CN109669738A (zh) * 2018-12-29 2019-04-23 北京明朝万达科技股份有限公司 一种应用程序的启动方法及装置
CN110045998A (zh) * 2019-04-22 2019-07-23 腾讯科技(深圳)有限公司 加载动态库的方法及装置
CN112473147A (zh) * 2019-09-12 2021-03-12 厦门雅基软件有限公司 游戏试玩方法、云端设备、终端设备及存储介质
CN112199151A (zh) * 2020-09-07 2021-01-08 成都安易迅科技有限公司 一种应用程序的运行方法及装置
CN112199151B (zh) * 2020-09-07 2023-10-24 成都安易迅科技有限公司 一种应用程序的运行方法及装置
CN112953721A (zh) * 2021-01-28 2021-06-11 山东浪潮通软信息科技有限公司 一种ipa文件的解析方法、装置、设备及存储介质
CN112953721B (zh) * 2021-01-28 2023-04-14 浪潮通用软件有限公司 一种ipa文件的解析方法、装置、设备及存储介质
CN114579254A (zh) * 2022-03-02 2022-06-03 科东(广州)软件科技有限公司 一种微内核虚拟化操作***的***调用方法及装置

Also Published As

Publication number Publication date
CN108399331B (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
CN108399331A (zh) 应用进程试用方法和***
US8893222B2 (en) Security system and method for the android operating system
US8078553B2 (en) Automatic translation of contracts to policies in policy-based networks
CN111625452A (zh) 流量回放方法和***
CN108170503A (zh) 一种跨***运行安卓应用的方法、终端及存储介质
US20120137281A1 (en) Method and apparatus for installing programs on a computer platform
CN103970563B (zh) 动态加载安卓类的方法
CN112767133B (zh) 业务决策方法及装置、存储介质、计算机设备
CN112767135B (zh) 规则引擎的配置方法及装置、存储介质、计算机设备
US10908948B2 (en) Multiple application instances in operating systems that utilize a single process for application execution
CN109308241A (zh) 监听应用程序启动流程方法、装置、终端设备和存储介质
US11681520B2 (en) Software upgrading using dynamic link library injection
CN105955833A (zh) 引擎调用方法和装置
CN109359092A (zh) 文件管理方法、桌面显示方法、装置、终端及介质
CN110045998A (zh) 加载动态库的方法及装置
CN103530180B (zh) 应用程序的存储空间切换方法及装置
CN111339529B (zh) 低代码的业务编排构件运行的管理***、方法及计算设备
CN109905258A (zh) PaaS的管理方法、装置及存储介质
WO2021097683A1 (zh) 安卓***启动的方法、装置、设备及存储介质
CN110311935A (zh) 一种分享方法、分享部署***和客户端
CN114422358A (zh) Api网关配置更新方法及设备
US11520866B2 (en) Controlling processor instruction execution
CN114356520A (zh) 微应用的运行方法、装置、设备、存储介质及程序产品
CN113282363A (zh) 一种优化混合app的方法及装置
CN113065072A (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