CN112199151B - 一种应用程序的运行方法及装置 - Google Patents
一种应用程序的运行方法及装置 Download PDFInfo
- Publication number
- CN112199151B CN112199151B CN202010928686.6A CN202010928686A CN112199151B CN 112199151 B CN112199151 B CN 112199151B CN 202010928686 A CN202010928686 A CN 202010928686A CN 112199151 B CN112199151 B CN 112199151B
- Authority
- CN
- China
- Prior art keywords
- application program
- virtual
- current process
- target application
- interface
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 323
- 230000008569 process Effects 0.000 claims abstract description 231
- 238000004891 communication Methods 0.000 claims description 30
- 238000009434 installation Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 8
- 239000011230 binding agent Substances 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 244000035744 Hura crepitans Species 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序的运行方法及装置,涉及***安全技术领域,为解决现有技术中应用程序的沙箱运行环境占用***资源导致无法有效利用***资源的问题而发明。该方法主要包括:构建虚拟运行平台;启动虚拟运行平台,并根据用户的应用请求启动目标应用程序;如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行当前进程;将执行结果反馈至目标应用程序。本发明主要应用于应用程序运行的过程中。
Description
技术领域
本发明涉及***安全技术领域,特别是涉及一种应用程序的运行方法及装置。
背景技术
安卓***被广泛应用于手机、平板电脑、游戏机等终端设备。在安卓***上运行应用程序过程中,必须通过***ROOT才能运行应用程序。由于在应用程序中可能会存在恶意软件、间谍软件、应用程序开发者疏忽或按照SDK缺乏故障按照缺省值,如果通过ROOT运行应程序,用户隐私被侵害的危险较高。
现有技术中的应用程序加壳配置方法,包括解析应用程序原包安装包,获得其内部文件,构造集合原安装包与内部文件的加壳安装包,使加壳安装包与原安装包具有不同的包名,被集合的内部文件中配置有加载模块,加载模块用于将被集合的原安装包加载到沙箱运行环境中以运行应用程序,安装加壳安装包。在沙箱环境中运行目标应用程序能够确保***和用户隐私的安全。
现有技术的方案,每安装一次应用程序都需要提供一个沙箱运行环境。然而随着应用程序的不断开发,以及用户对应用程序多样性需求的不断增加,为每个应用程序配置的沙箱环境也随之增加,沙箱运行环境占用***资源,无法有效地利用***资源。
发明内容
有鉴于此,本发明提供一种应用程序的运行方法及装置,主要目的在于解决现有技术中应用程序的沙箱运行环境占用***资源导致无法有效利用***资源的问题。
依据本发明一个方面,提供了一种应用程序的运行方法,包括:
构建虚拟运行平台;
启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
将所述执行结果反馈至所述目标应用程序。
依据本发明另一个方面,提供了一种应用程序的运行装置,包括:
平台构建模块,用于构建虚拟运行平台;
程序启动模块,用于启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
进程执行模块,用于如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
结果反馈模块,用于将所述执行结果反馈至所述目标应用程序。
根据本发明的又一方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一种可执行指令,所述可执行指令使处理器执行如上述应用程序的运行方法对应的操作。
根据本发明的再一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一种可执行指令,所述可执行指令使所述处理器执行上述应用程序的运行方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种应用程序的运行方法及装置,首先构建虚拟运行平台,然后启动虚拟运行平台,并根据用户的应用请求启动目标应用程序,如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,将执行结果反馈至目标应用程序。与现有技术相比,本发明实施例通过所述虚拟运行平台执行目标应用程序的当前进程,以虚拟运行平台将安卓***与目标应用程序隔离,不需要更正安卓***的Root权限,保证安卓***的***安全,同时能够监控目标应用程序。其中目标应用程序可以是任一现有应用程序,也就是虚拟运行平台可以作为多个应用程序的运行环境,占用较少的***资源即可实现多应用程序的运行,达到有效利用***资源的目的。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种应用程序的运行方法流程图;
图2示出了本发明实施例提供的另一种应用程序的运行方法流程图;
图3示出了本发明实施例提供的一种应用程序的运行装置组成框图;
图4示出了本发明实施例提供的另一种应用程序的运行装置组成框图;
图5示出了本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种应用程序的运行方法,如图1所示,该方法包括:
101、构建虚拟运行平台。
虚拟运行平台可以直接安装在客户端,也可以根据用户自身需求下载安装文件再安装在客户端,在安装文件运行过程中,构建虚拟运行平台。虚拟运行平台可以看做一个沙箱,能够实现虚拟运行平台内部与外部的隔离。虚拟运行平台能够模仿安卓***的服务功能,以构建模拟架构服务实现。如果应用程序安装在安卓***中,应用程序调用***应用程序接口需要调用ActivityManager、PackageMananger或WindowManager,然后通过Binder调用framework service的各种服务,如ActivityManangerService、PackageManagerService、WindowManangerService等,再通过硬件抽象层交互,最终调用硬件实现应用程序的功能。调用硬件过程,具体包括:获取framework service的各种服务的调用接口函数,调用接口函数中包括设备号和文件名,调用接口函数打开硬件寄存器中断源,以此实现应用程序的功能。
102、启动虚拟运行平台,并根据用户的应用请求启动目标应用程序。
在首次启动时,虚拟运行平台并未运行应用程序,当接收到用户应用请求后启动目标应用程序。目标应用程序是指可以安装至该客户端的所有应用程序。在首次启动目标应用程序时,启动安卓***可运行的最新版本、使用最多的版本或用户自定义版本。后续再启动目标应用程序时则启动首次启动的版本。在启动目标应用程序后,用户可操作目标应用程序,其操作方法只与目标应用程序本身的设置有关,与虚拟运行平台无关。
103、如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行当前进程。
当前进程是指为实现目标应用程序上的用户操作生成的机器执行指令。***服务进程是指需要调用安卓***服务执行的进程。如果当前进程需要通过调用安卓***服务才能执行,那么目标应用程序的当前进程需要通过虚拟运行平台执行当前进程。
利用反射注解和动态代理方式,执行当前进程。在执行过程中通过动态代理替换执行当前进程所需的***源码,然后通过反射注解生成实现当前进程功能的虚拟源码,在执行虚拟源码实现执行当前进程。
104、将执行结果反馈至目标应用程序。
将执行结果反馈至目标应用程序,实现在虚拟运行平台隔离安卓***运行当前进程。
本发明提供了一种应用程序的运行方法,首先构建虚拟运行平台,然后启动虚拟运行平台,并根据用户的应用请求启动目标应用程序,如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程将执行结果反馈至目标应用程序。与现有技术相比,本发明实施例通过所述虚拟运行平台执行目标应用程序的当前进程,以虚拟运行平台将安卓***与目标应用程序隔离,不需要更正安卓***的Root权限,保证安卓***的***安全,同时能够监控目标应用程序。其中目标应用程序可以是任一现有应用程序,也就是虚拟运行平台可以作为多个应用程序的运行环境,占用较少的***资源即可实现多应用程序的运行,达到有效利用***资源的目的。
本发明实施例提供了另一种应用程序的运行方法,如图2所示,该方法包括:
201、构建虚拟运行平台。
虚拟运行平台可以直接安装在客户端,也可以根据用户自身需求下载安装文件再安装在客户端,在安装文件运行过程中,构建虚拟运行平台。构建虚拟运行平台,具体包括:采用Launcher组件,构建虚拟平台的用户交互界面和应用程序图标展示区;在客户端的硬件配置中,获取预留内存空间地址范围和预留存储空间地址范围;在所述预留存储空间地址范围内,建立虚拟化引擎。Launcher组件是安卓***中的桌面启动组件,利用安卓***本身的Launcher组件构建用户交互界面和应用程序图标展示区,虚拟运行平台更适于在安卓***中运行,虚拟运行平台与安卓***融合程度更高,信息交互、指令结构和进程执行代码结构相似利于安卓***运维人员对虚拟运行平台的开发。
用户交互界面用于获取用户请求,展示已安装应用程序,推荐未安装的应用程序,展示广告等等。在虚拟运行平台上安装的应用程序在应用程序图标展示区展示。Launcher组件可以专门用于桌面图标或用户交互界面的设计。在硬件配置中,预留内存空间地址范围和预留存储空间地址范围,这部分地址范围是安卓***运行中不可在分配的地址。在预留存储空间地址范围内,建立虚拟化引擎。在预留内存空间地址范围和预留存储空间的地址范围时,记录地址的扇区,使用虚拟运行平台时将数据保存至已分配的扇区。预留内存空间地址范围一般不能超过设备总内存的1/3,预留存储空间一般不超过设备硬盘总空间的1/3。
虚拟化引擎包括:通信监测函数和虚拟框架服务;在所述预留存储空间地址范围内,建立虚拟化引擎,具体包括:建立Binder进程间的通信监测函数,所述通信监测函数用于监测所述当前进程是所述***服务进程;复制安卓***服务的***框架服务,构建所述当前进程的虚拟框架服务,所述虚拟框架服务用于执行所述当前进程。虚拟化引擎是能够复制安卓***服务的功能,使当前进程在虚拟运行平台可执行,无需经过安卓***,也就是屏蔽安卓***,当前进程相当于在沙箱中运行,使得目标应用程序与安卓***完全隔离。
202、启动虚拟运行平台,并根据用户的应用请求启动目标应用程序。
启动虚拟运行平台时,在预留内存空间地址范围内运行虚拟化引擎。在首次启动时,虚拟运行平台并未运行应用程序,当接收到用户应用请求后启动目标应用程序。目标应用程序是指可以安装至该客户端的所有应用程序。在首次启动目标应用程序时,启动安卓***可运行的最新版本、使用最多的版本或用户自定义版本。后续再启动目标应用程序时则启动首次启动的版本。在启动目标应用程序后,用户可操作目标应用程序,其操作方法只与目标应用程序本身的设置有关,与虚拟运行平台无关。
根据用户的应用请求启动目标应用程序,具体包括:检测所述虚拟运行平台是否已安装所述目标应用程序;如果检测结果为已安装,则启动所述目标应用程序;如果检测结果为未安装,则在预置存储路径中查找所述目标应用程序的目标安装文件,并在所述虚拟化引擎安装并启动所述目标安装文件。在虚拟化引擎中可安装多个应用程序,也就是在同一个安全运行平台实现多个应用程序与安卓***的隔离,能提高***资源利用率。
启动所述虚拟运行平台之后,启动目标应用程序之前,还包括:将预置应用程序的安装文件缓存至预置存储路径。预置应用程序,可以是用户自行设置的常用应用程序,也可以是虚拟运行平台的开发者提前设置的常用应用程序,预置应用程序的数量至少为1个。
203、如果目标应用程序的当前进程是***服务进程,则获取当前进程调用的***应用程序接口。
当前进程是指为实现目标应用程序上的用户操作生成的机器执行指令。***服务进程是指需要调用安卓***服务执行的进程。如果当前进程需要通过调用安卓***服务才能执行,那么目标应用程序的当前进程需要通过虚拟运行平台执行当前进程。以***应用程序接口为依据,确定如何执行当前进程。用户操作目标应用程序生成的当前进程,包括虚拟运行平台能够处理的进程,以及需要鉴权的安卓***能够处理的进程,因此需要根据调用的***应用程序接口判断当前进程在虚拟运行平台能够做何种处理。
204、查找***应用程序接口是否需要鉴权。
205、如果查找结果为是,则通过动态代理方式,预处理当前进程的接口参数。
预处理将当前进程的接口参数进行修改,以确保当前进程不会对安卓***产生影响。在处理过程中依据当前进程在鉴权过程中的需求适应性的处理接口参数。具体包括:提取所述当前进程中的鉴权参数,所述鉴权参数包括账号、密码和使用权限;根据所述动态代理方式,生成所述鉴权参数的鉴权进程;将所述鉴权进程发送至所述安卓***服务。也就是安卓***只处理当前进程中涉及鉴权的部分内容,在处理过程中切断目标应用程序与安卓***的直接联系,能进一步保障安卓***的安全。
206、如果查找结果为否,则通过反射注解和动态代理方式,执行当前进程。
执行当前进程,是通过虚拟引擎执行当前进程的过程,具体包括:获取所述***应用程序接口的***源码中的***成员变量、***对象和***运行方法;根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,所述虚拟源码包括虚拟成员变量、虚拟对象和虚拟运行方法,其中,所述***成员变量和所述虚拟成员变量相对应,所述***对象和所述虚拟对象相对应,所述***运行方法和所述虚拟运行方法相对应;根据反射注解方式,将所述***应用程序接口的***源码,替换为所述所述虚拟应用程序接口的虚拟源码;调用所述虚拟程序接口,执行所述当前进程。
示例性的,当前进程中的***应用程序接口的源码中涉及startActivity调用到Activity中的成员变量mInstrumentation.execStartActivity方法,根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,实现mInstrumentation对象,并在对象中实现execStartActivity方法,然后根据反射注解机制将Activity中的mInstrumentation替换成虚拟源码的Instrumentation对象,当前进程调用startActivity时,就会调用到虚拟源码的Instrumentation对象中的execStartActivity方法,实现了一次Hook,目标应用程序的当前进程调用***应用程序接口时,通过虚拟源码实现,一次达到伪装的目的。
207、判断执行结果是否携带进程已完成标识。
208、如果判断结果为是,则将执行结果反馈至目标应用程序。
如果当前进程被完全执行,那么经过步骤206获取到的执行结果是完整执行当前进程的结果,将其以进程已完成标识。将执行结果反馈至目标应用程序,实现在虚拟运行平台隔离安卓***运行当前进程。
209、如果判断结果为否,则启动安卓***服务执行所述执行结果,并将二次执行结果通过所述虚拟运行平台反馈至目标应用程序。
如果当前进程涉及鉴权则不能被完全执行,那么为保证***安全只能进程参数处理,经过前述步骤获取到的执行结果是未完整执行当前进程的结果,将其以进程未完成标识。将经过参数处理的当前进程,以安卓***服务执行,然后得到二次执行结果,再将二次执行结果通过虚拟运行平台反馈至目标应用程序。
本发明提供了一种应用程序的运行方法,首先构建虚拟运行平台,然后启动虚拟运行平台,并根据用户的应用请求启动目标应用程序,如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,将执行结果反馈至目标应用程序。与现有技术相比,本发明实施例通过所述虚拟运行平台执行目标应用程序的当前进程,以虚拟运行平台将安卓***与目标应用程序隔离,不需要更正安卓***的Root权限,保证安卓***的***安全,同时能够监控目标应用程序。其中目标应用程序可以是任一现有应用程序,也就是虚拟运行平台可以作为多个应用程序的运行环境,占用较少的***资源即可实现多应用程序的运行,达到有效利用***资源的目的。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种应用程序的运行装置,如图3所示,该装置包括:
平台构建模块31,用于构建虚拟运行平台;
程序启动模块32,用于启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
进程执行模块33,用于如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
结果反馈模块34,用于将所述执行结果反馈至所述目标应用程序。
本发明提供了一种应用程序的运行装置,首先构建虚拟运行平台,然后启动虚拟运行平台,并根据用户的应用请求启动目标应用程序,如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,将执行结果反馈至目标应用程序。与现有技术相比,本发明实施例通过所述虚拟运行平台执行目标应用程序的当前进程,以虚拟运行平台将安卓***与目标应用程序隔离,不需要更正安卓***的Root权限,保证安卓***的***安全,同时能够监控目标应用程序。其中目标应用程序可以是任一现有应用程序,也就是虚拟运行平台可以作为多个应用程序的运行环境,占用较少的***资源即可实现多应用程序的运行,达到有效利用***资源的目的。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种应用程序的运行装置,如图4所示,该装置包括:
平台构建模块41,用于构建虚拟运行平台;
程序启动模块42,用于启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
进程执行模块43,用于如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
结果反馈模块44,用于将所述执行结果反馈至所述目标应用程序。
进一步地,所述装置还包括:
标识判断模块45,用于所述通过反射注解和/或动态代理方式,执行所述当前进程之后,判断所述执行结果是否携带进程已完成标识;
所述结果反馈模块44,还用于如果判断结果为是,则将所述执行结果反馈至所述目标应用程序;
所述结果反馈模块44,还用于如果判断结果为否,则启动所述安卓***服务执行所述执行结果,并将二次执行结果通过所述所述虚拟运行平台反馈至所述目标应用程序。
进一步地,所述平台构建模块41,包括:
界面构建单元411,用于采用Launcher组件,构建虚拟平台的用户交互界面和应用程序图标展示区;
空间获取单元412,用于在客户端的硬件配置中,获取预留内存空间地址范围和预留存储空间地址范围;
引擎建立单元413,用于在所述预留存储空间地址范围内,建立虚拟化引擎。
进一步地,所述虚拟化引擎包括:通信监测函数和虚拟框架服务;
所述引擎建立单元413,包括:
函数建立子单元4131,用于建立Binder进程间的通信监测函数,所述通信监测函数用于监测所述当前进程是所述***服务进程;
框架构建子单元4132,用于复制安卓***服务的***框架服务,构建所述当前进程的虚拟框架服务,所述虚拟框架服务用于执行所述当前进程。
进一步地,所述程序启动模块42,包括:
程序检测单元421,用于检测所述虚拟运行平台是否已安装所述目标应用程序;
程序启动单元422,用于如果检测结果为已安装,则启动所述目标应用程序;
文件安装单元423,用于如果检测结果为未安装,则在预置存储路径中查找所述目标应用程序的目标安装文件,并在所述虚拟化引擎安装并启动所述目标安装文件。
进一步地,所述装置还包括:
文件缓存模块46,用于所述启动所述虚拟运行平台之后,将预置应用程序的安装文件缓存至预置存储路径。
进一步地,所述进程执行模块43,包括:
接口获取单元431,用于获取当前进程调用的***应用程序接口;
权限查找单元432,用于查找所述***应用程序接口是否需要鉴权;
参数处理单元433,用于如果查找结果为是,则通过动态代理方式,预处理所述当前进程的接口参数;
进程执行单元434,用于如果查找结果为否,则通过反射注解和动态代理方式,执行所述当前进程。
进一步地,所述参数处理单元433,包括:
参数提取子单元4331,用于提取所述当前进程中的鉴权参数,所述鉴权参数包括账号、密码和使用权限;
进程生成子单元4332,用于根据所述动态代理方式,生成所述鉴权参数的鉴权进程;
进程发送子单元4333,用于将所述鉴权进程发送至所述安卓***服务。
进一步地,所述进程执行单元434,包括:
接口获取子单元4341,用于获取所述***应用程序接口的***源码中的***成员变量、***对象和***运行方法;
接口设置子单元4342,用于根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,所述虚拟源码包括虚拟成员变量、虚拟对象和虚拟运行方法,其中,所述***成员变量和所述虚拟成员变量相对应,所述***对象和所述虚拟对象相对应,所述***运行方法和所述虚拟运行方法相对应;
代码替换子单元4343,用于根据反射注解方式,将所述***应用程序接口的***源码,替换为所述所述虚拟应用程序接口的虚拟源码;
接口调用子单元4344,用于调用所述虚拟程序接口,执行所述当前进程。
本发明提供了一种应用程序的运行装置,首先构建虚拟运行平台,然后启动虚拟运行平台,并根据用户的应用请求启动目标应用程序,如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,将执行结果反馈至目标应用程序。与现有技术相比,本发明实施例通过所述虚拟运行平台执行目标应用程序的当前进程,以虚拟运行平台将安卓***与目标应用程序隔离,不需要更正安卓***的Root权限,保证安卓***的***安全,同时能够监控目标应用程序。其中目标应用程序可以是任一现有应用程序,也就是虚拟运行平台可以作为多个应用程序的运行环境,占用较少的***资源即可实现多应用程序的运行,达到有效利用***资源的目的。
根据本发明一个实施例提供了一种计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的应用程序的运行方法。
图5示出了根据本发明一个实施例提供的一种计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
如图5所示,该计算机设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述应用程序的运行方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
构建虚拟运行平台;
启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
将所述执行结果反馈至所述目标应用程序。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
本发明实施例提供以下技术方案:
A1、一种应用程序的运行方法,包括:
构建虚拟运行平台;
启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
将所述执行结果反馈至所述目标应用程序。
A2、根据A1所述的方法,所述通过反射注解和/或动态代理方式,执行所述当前进程之后,所述方法还包括:
判断所述执行结果是否携带进程已完成标识;
如果判断结果为是,则将所述执行结果反馈至所述目标应用程序;
如果判断结果为否,则启动所述安卓***服务执行所述执行结果,并将二次执行结果通过所述所述虚拟运行平台反馈至所述目标应用程序。
A3、根据A1所述的方法,所述构建虚拟运行平台,包括:
采用Launcher组件,构建虚拟平台的用户交互界面和应用程序图标展示区;
在客户端的硬件配置中,获取预留内存空间地址范围和预留存储空间地址范围;
在所述预留存储空间地址范围内,建立虚拟化引擎。
A4、根据A1所述的方法,所述虚拟化引擎包括:通信监测函数和虚拟框架服务;
所述在所述预留存储空间地址范围内,建立虚拟化引擎,包括:
建立Binder进程间的通信监测函数,所述通信监测函数用于监测所述当前进程是所述***服务进程;
复制安卓***服务的***框架服务,构建所述当前进程的虚拟框架服务,所述虚拟框架服务用于执行所述当前进程。
A5、根据A3所述的方法,所述根据用户的应用请求启动目标应用程序,包括:
检测所述虚拟运行平台是否已安装所述目标应用程序;
如果检测结果为已安装,则启动所述目标应用程序;
如果检测结果为未安装,则在预置存储路径中查找所述目标应用程序的目标安装文件,并在所述虚拟化引擎安装并启动所述目标安装文件。
A6、根据A5所述的方法,所述启动所述虚拟运行平台之后,所述方法还包括:
将预置应用程序的安装文件缓存至预置存储路径。
A7、根据A1所述的方法,所述通过反射注解和/或动态代理方式,执行所述当前进程,包括:
获取当前进程调用的***应用程序接口;
查找所述***应用程序接口是否需要鉴权;
如果查找结果为是,则通过动态代理方式,预处理所述当前进程的接口参数;
如果查找结果为否,则通过反射注解和动态代理方式,执行所述当前进程。
A8、根据A7所述的方法,所述通过反射注解和动态代理方式,预处理所述当前进程的接口参数,包括:
提取所述当前进程中的鉴权参数,所述鉴权参数包括账号、密码和使用权限;
根据所述动态代理方式,生成所述鉴权参数的鉴权进程;
将所述鉴权进程发送至所述安卓***服务。
A9、根据A7所述的方法,所述通过反射注解和动态代理方式,执行所述当前进程,包括:
获取所述***应用程序接口的***源码中的***成员变量、***对象和***运行方法;
根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,所述虚拟源码包括虚拟成员变量、虚拟对象和虚拟运行方法,其中,所述***成员变量和所述虚拟成员变量相对应,所述***对象和所述虚拟对象相对应,所述***运行方法和所述虚拟运行方法相对应;
根据反射注解方式,将所述***应用程序接口的***源码,替换为所述所述虚拟应用程序接口的虚拟源码;
调用所述虚拟程序接口,执行所述当前进程。
B10、一种应用程序的运行装置,包括:
平台构建模块,用于构建虚拟运行平台;
程序启动模块,用于启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
进程执行模块,用于如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
结果反馈模块,用于将所述执行结果反馈至所述目标应用程序。
B11、根据B10所述的装置,所述装置还包括:
标识判断模块,用于所述通过反射注解和/或动态代理方式,执行所述当前进程之后,判断所述执行结果是否携带进程已完成标识;
所述结果反馈模块,用于如果判断结果为是,则将所述执行结果反馈至所述目标应用程序;
所述结果反馈模块,还用于如果判断结果为否,则启动所述安卓***服务执行所述执行结果,并将二次执行结果通过所述所述虚拟运行平台反馈至所述目标应用程序。
B12、根据B10所述的装置,所述平台构建模块,包括:
界面构建单元,用于采用Launcher组件,构建虚拟平台的用户交互界面和应用程序图标展示区;
空间获取单元,用于在客户端的硬件配置中,获取预留内存空间地址范围和预留存储空间地址范围;
引擎建立单元,用于在所述预留存储空间地址范围内,建立虚拟化引擎。
B13、根据B10所述的装置,所述虚拟化引擎包括:通信监测函数和虚拟框架服务;
所述引擎建立单元,包括:
函数建立子单元,用于建立Binder进程间的通信监测函数,所述通信监测函数用于监测所述当前进程是所述***服务进程;
框架构建子单元,用于复制安卓***服务的***框架服务,构建所述当前进程的虚拟框架服务,所述虚拟框架服务用于执行所述当前进程。
B14、根据B12所述的装置,所述程序启动模块,包括:
程序检测单元,用于检测所述虚拟运行平台是否已安装所述目标应用程序;
程序启动单元,用于如果检测结果为已安装,则启动所述目标应用程序;
文件安装单元,用于如果检测结果为未安装,则在预置存储路径中查找所述目标应用程序的目标安装文件,并在所述虚拟化引擎安装并启动所述目标安装文件。
B15、根据B14所述的装置,所述装置还包括:
文件缓存模块,用于所述启动所述虚拟运行平台之后,将预置应用程序的安装文件缓存至预置存储路径。
B16、根据B10所述的装置,所述进程执行模块,包括:
接口获取单元,用于获取当前进程调用的***应用程序接口;
权限查找单元,用于查找所述***应用程序接口是否需要鉴权;
参数处理单元,用于如果查找结果为是,则通过动态代理方式,预处理所述当前进程的接口参数;
进程执行单元,用于如果查找结果为否,则通过反射注解和动态代理方式,执行所述当前进程。
B17、根据B16所述的装置,所述参数处理单元,包括:
参数提取子单元,用于提取所述当前进程中的鉴权参数,所述鉴权参数包括账号、密码和使用权限;
进程生成子单元,用于根据所述动态代理方式,生成所述鉴权参数的鉴权进程;
进程发送子单元,用于将所述鉴权进程发送至所述安卓***服务。
B18、根据B16所述的装置,所述进程执行单元,包括:
接口获取子单元,用于获取所述***应用程序接口的***源码中的***成员变量、***对象和***运行方法;
接口设置子单元,用于根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,所述虚拟源码包括虚拟成员变量、虚拟对象和虚拟运行方法,其中,所述***成员变量和所述虚拟成员变量相对应,所述***对象和所述虚拟对象相对应,所述***运行方法和所述虚拟运行方法相对应;
代码替换子单元,用于根据反射注解方式,将所述***应用程序接口的***源码,替换为所述所述虚拟应用程序接口的虚拟源码;
接口调用子单元,用于调用所述虚拟程序接口,执行所述当前进程。
C19、一种计算机存储介质,所述计算机存储介质中存储有至少一种可执行指令,所述可执行指令使处理器执行如A1-A9中任一项所述的应用程序的运行方法对应的操作。
D20、一种计算机设备,包括:处理器、存储器、通信接口和通信总线、所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一种可执行指令,所述可执行指令使所述处理器执行如A1-A9中任一项所述的应用程序的运行方法对应的操作。
Claims (7)
1.一种应用程序的运行方法,其特征在于,包括:
构建虚拟运行平台;
启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
将所述执行结果反馈至所述目标应用程序;
所述通过反射注解和/或动态代理方式,执行所述当前进程,包括:
获取当前进程调用的***应用程序接口;
查找所述***应用程序接口是否需要鉴权;
如果查找结果为是,则通过动态代理方式,预处理所述当前进程的接口参数;
如果查找结果为否,则通过反射注解和动态代理方式,执行所述当前进程;
预处理所述当前进程的接口参数,包括:
提取所述当前进程中的鉴权参数,所述鉴权参数包括账号、密码和使用权限;
根据所述动态代理方式,生成所述鉴权参数的鉴权进程;
将所述鉴权进程发送至所述安卓***服务;
所述通过反射注解和动态代理方式,执行所述当前进程,包括:
获取所述***应用程序接口的***源码中的***成员变量、***对象和***运行方法;
根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,所述虚拟源码包括虚拟成员变量、虚拟对象和虚拟运行方法,其中,所述***成员变量和所述虚拟成员变量相对应,所述***对象和所述虚拟对象相对应,所述***运行方法和所述虚拟运行方法相对应;
根据反射注解方式,将所述***应用程序接口的***源码,替换为所述虚拟应用程序接口的虚拟源码;
调用所述虚拟应用程序接口,执行所述当前进程。
2.根据权利要求1所述的方法,其特征在于,所述通过反射注解和/或动态代理方式,执行所述当前进程之后,所述方法还包括:
判断所述执行结果是否携带进程已完成标识;
如果判断结果为是,则将所述执行结果反馈至所述目标应用程序;
如果判断结果为否,则启动所述安卓***服务执行所述执行结果,并将二次执行结果通过所述虚拟运行平台反馈至所述目标应用程序。
3.根据权利要求1所述的方法,其特征在于,所述构建虚拟运行平台,包括:
采用Launcher组件,构建虚拟平台的用户交互界面和应用程序图标展示区;
在客户端的硬件配置中,获取预留内存空间地址范围和预留存储空间地址范围;
在所述预留存储空间地址范围内,建立虚拟化引擎。
4.根据权利要求3所述的方法,其特征在于,所述虚拟化引擎包括:通信监测函数和虚拟框架服务;
所述在所述预留存储空间地址范围内,建立虚拟化引擎,包括:
建立Binder进程间的通信监测函数,所述通信监测函数用于监测所述当前进程是所述***服务进程;
复制安卓***服务的***框架服务,构建所述当前进程的虚拟框架服务,所述虚拟框架服务用于执行所述当前进程。
5.根据权利要求3所述的方法,其特征在于,所述根据用户的应用请求启动目标应用程序,包括:
检测所述虚拟运行平台是否已安装所述目标应用程序;
如果检测结果为已安装,则启动所述目标应用程序;
如果检测结果为未安装,则在预置存储路径中查找所述目标应用程序的目标安装文件,并在所述虚拟化引擎安装并启动所述目标安装文件。
6.根据权利要求5所述的方法,其特征在于,所述启动所述虚拟运行平台之后,所述方法还包括:
将预置应用程序的安装文件缓存至预置存储路径。
7.一种应用程序的运行装置,其特征在于,包括:
平台构建模块,用于构建虚拟运行平台;
程序启动模块,用于启动所述虚拟运行平台,并根据用户的应用请求启动目标应用程序;
进程执行模块,用于如果目标应用程序的当前进程是***服务进程,则通过反射注解和/或动态代理方式,执行所述当前进程,所述***服务进程是指需要调用安卓***服务执行的进程;
结果反馈模块,用于将所述执行结果反馈至所述目标应用程序;
所述进程执行模块包括:
接口获取单元,用于获取当前进程调用的***应用程序接口;
权限查找单元,用于查找所述***应用程序接口是否需要鉴权;
参数处理单元,用于如果查找结果为是,则通过动态代理方式,预处理所述当前进程的接口参数;
进程执行单元,用于如果查找结果为否,则通过反射注解和动态代理方式,执行所述当前进程;
所述参数处理单元包括:
参数提取子单元,用于提取所述当前进程中的鉴权参数,所述鉴权参数包括账号、密码和使用权限;
进程生成子单元,用于根据所述动态代理方式,生成所述鉴权参数的鉴权进程;
进程发送子单元,用于将所述鉴权进程发送至所述安卓***服务;
所述进程执行单元,包括:
接口获取子单元,用于获取所述***应用程序接口的***源码中的***成员变量、***对象和***运行方法;
接口设置子单元,用于根据预置动态代理方法,设置虚拟应用程序接口的虚拟源码,所述虚拟源码包括虚拟成员变量、虚拟对象和虚拟运行方法,其中,所述***成员变量和所述虚拟成员变量相对应,所述***对象和所述虚拟对象相对应,所述***运行方法和所述虚拟运行方法相对应;
代码替换子单元,用于根据反射注解方式,将所述***应用程序接口的***源码,替换为所述虚拟应用程序接口的虚拟源码;
接口调用子单元,用于调用所述虚拟应用程序接口,执行所述当前进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010928686.6A CN112199151B (zh) | 2020-09-07 | 2020-09-07 | 一种应用程序的运行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010928686.6A CN112199151B (zh) | 2020-09-07 | 2020-09-07 | 一种应用程序的运行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199151A CN112199151A (zh) | 2021-01-08 |
CN112199151B true CN112199151B (zh) | 2023-10-24 |
Family
ID=74005775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010928686.6A Active CN112199151B (zh) | 2020-09-07 | 2020-09-07 | 一种应用程序的运行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199151B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116263824A (zh) * | 2021-12-13 | 2023-06-16 | 北京有竹居网络技术有限公司 | 资源访问方法、装置、存储介质以及电子设备 |
CN116956270B (zh) * | 2023-09-18 | 2024-01-12 | 星汉智能科技股份有限公司 | 应用程序运行方法、运行环境re、电子设备、存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530156A (zh) * | 2013-10-17 | 2014-01-22 | 北京奇虎科技有限公司 | 动态加载和调用程序的方法及装置 |
CN105094996A (zh) * | 2015-07-21 | 2015-11-25 | 电子科技大学 | 基于动态权限验证的Android***安全增强方法及*** |
CN106709327A (zh) * | 2016-12-07 | 2017-05-24 | 深圳市君格科技有限公司 | 一种应用隐藏的方法及其移动终端 |
CN106897611A (zh) * | 2017-03-03 | 2017-06-27 | 金光 | 无需root权限的安全虚拟移动应用程序运行环境***及方法与应用 |
CN107220083A (zh) * | 2017-05-22 | 2017-09-29 | 韩皓 | 一种安卓***中免安装运行应用程序的方法和*** |
CN108399331A (zh) * | 2017-02-06 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 应用进程试用方法和*** |
CN108509802A (zh) * | 2018-02-28 | 2018-09-07 | 郑州信大捷安信息技术股份有限公司 | 一种应用程序数据防泄密方法和装置 |
CN109241731A (zh) * | 2018-09-11 | 2019-01-18 | 厦门市美亚柏科信息股份有限公司 | 一种基于虚拟应用的隐私信息保护方法、装置及存储介质 |
CN111400757A (zh) * | 2020-03-13 | 2020-07-10 | 西安电子科技大学 | 防止安卓第三方库中native代码泄露用户隐私的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180335900A1 (en) * | 2017-05-22 | 2018-11-22 | Microsoft Technology Licensing, Llc | Dynamic support feedback for in-app help |
-
2020
- 2020-09-07 CN CN202010928686.6A patent/CN112199151B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530156A (zh) * | 2013-10-17 | 2014-01-22 | 北京奇虎科技有限公司 | 动态加载和调用程序的方法及装置 |
CN105094996A (zh) * | 2015-07-21 | 2015-11-25 | 电子科技大学 | 基于动态权限验证的Android***安全增强方法及*** |
CN106709327A (zh) * | 2016-12-07 | 2017-05-24 | 深圳市君格科技有限公司 | 一种应用隐藏的方法及其移动终端 |
CN108399331A (zh) * | 2017-02-06 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 应用进程试用方法和*** |
CN106897611A (zh) * | 2017-03-03 | 2017-06-27 | 金光 | 无需root权限的安全虚拟移动应用程序运行环境***及方法与应用 |
CN107220083A (zh) * | 2017-05-22 | 2017-09-29 | 韩皓 | 一种安卓***中免安装运行应用程序的方法和*** |
CN108509802A (zh) * | 2018-02-28 | 2018-09-07 | 郑州信大捷安信息技术股份有限公司 | 一种应用程序数据防泄密方法和装置 |
CN109241731A (zh) * | 2018-09-11 | 2019-01-18 | 厦门市美亚柏科信息股份有限公司 | 一种基于虚拟应用的隐私信息保护方法、装置及存储介质 |
CN111400757A (zh) * | 2020-03-13 | 2020-07-10 | 西安电子科技大学 | 防止安卓第三方库中native代码泄露用户隐私的方法 |
Non-Patent Citations (1)
Title |
---|
基于虚拟化及重定向技术的Android沙箱的设计与实现;崔海娜;《中国优秀硕士学位论文全文数据库信息科技辑》;I138-377 * |
Also Published As
Publication number | Publication date |
---|---|
CN112199151A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552610B1 (en) | Adaptive virtual machine snapshot update framework for malware behavioral analysis | |
US11379273B2 (en) | Sharing extension points to allow an application to share content via a sharing extension | |
US8893222B2 (en) | Security system and method for the android operating system | |
JP4676744B2 (ja) | セキュリティ関連プログラミング・インターフェース | |
US8099472B2 (en) | System and method for a mobile cross-platform software system | |
US20150332043A1 (en) | Application analysis system for electronic devices | |
CN109218322B (zh) | 一种拟态防御方法、装置及*** | |
WO2019072008A1 (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
WO2015183456A1 (en) | Consistent extension points to allow an extension to extend functionality of an application to another application | |
US9189300B2 (en) | Dynamic service discovery | |
CN112948835B (zh) | 小程序风险检测方法和装置 | |
US20130239215A1 (en) | Detecting malicious computer code in an executing program module | |
CN112199151B (zh) | 一种应用程序的运行方法及装置 | |
CN106066803B (zh) | 应用程序运行控制的方法及装置 | |
CN111880987A (zh) | 应用程序的动态监测方法、装置、存储介质以及电子装置 | |
US9652223B2 (en) | Method and apparatus for executing integrated application program | |
CN114118971A (zh) | 基于云原生的在线开发方法、装置、设备及存储介质 | |
CN113360913A (zh) | 一种恶意程序检测方法、装置、电子设备及存储介质 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN113420268A (zh) | 水印添加方法、装置、设备及存储介质 | |
CN112966257B (zh) | 一种应用程序的授权方法及装置 | |
CN105809027B (zh) | 应用程序的权限控制方法及装置 | |
CN113064601B (zh) | 动态加载文件的确定方法、装置、终端及存储介质 | |
CN110046504B (zh) | 基于Linker的SO文件隐藏方法、储存介质及装置 |
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 |