调用hook应用程序多开方法及系统与流程

文档序号:18059045发布日期:2019-07-03 02:55阅读:762来源:国知局
调用hook应用程序多开方法及系统与流程

本发明涉及移动安全技术领域,特别涉及一种调用hook应用程序多开方法及系统。



背景技术:

随着移动互联网的快速发展,androidapp的使用方便了大众用户的生活。使人们的生活更加的便捷,新型互联网app例如微信,支付宝等应用已经成为了人们每天离不开的工具了,但是传统的微信,支付宝等应用只能同时登录一个账户,不能多开程序,这便给用户造成了很多的不便,切换账户时用户需要频繁退出和登录的操作,还容易忘记用户密码,从而给用户带来了诸多的不便。



技术实现要素:

本发明旨在至少解决上述技术问题之一。

为此,本发明的一个目的在于提出一种调用hook应用程序多开方法,该方法能够同时加载多个相同包名的app实现多开程序,有效的解决了单个移动设备上仅能同时登录并运行一个app的问题,省却了用户频繁退出和登录的操作,为用户减少了操作时间,增加了便利性。

本发明的另一个目的在于提出一种调用hook应用程序多开系统。

为了实现上述目的,本发明第一方面的实施例提出了一种调用hook应用程序多开方法,包括以下步骤:通过hook模块钩取孵化器进程,以便将相同包名下的app分配给不同的进程;在用户桌面上创建第一用户空间和第二用户空间;当检测到包安装器有新任务时,判断用户是否开启选择应用程序多开功能;如果是,则根据用户选择的多开数量,调用fork方法复制多个davik进程,以便加载多个相同包名的app运行。

根据本发明实施例的调用hook应用程序多开方法,通过hook技术勾住孵化器进程进而得到多个davik虚拟机进程模拟多个运行空间,进而能够同时加载多个相同包名的app,实现多开程序,有效的解决了单个移动设备上仅能同时登录并运行一个app的问题,省却了用户频繁退出和登录的操作,为用户减少了操作时间,增加了便利性。

另外,根据本发明上述实施例的调用hook应用程序多开方法还可以具有如下附加的技术特征:

在一些示例中,所述第一用户空间为正常应用程序空间,所述第二用户空间为多开应用程序空间。

在一些示例中,所述多个davik进程保存在所述多开应用程序空间内

在一些示例中,还包括:如果判断用户未开启选择应用程序多开功能,则按照普通应用程序去安装apk,并安装后apk放入所述正常应用程序空间。

在一些示例中,在将相同包名下的app分配给不同的进程之后,还包括:通过调用进程管理模块对所述进程的创建、运行、调度、销毁过程进行管理。

为了实现上述目的,本发明第二方面的实施例提出了一种调用hook应用程序多开系统,包括:调用模块,用于通过hook模块钩取孵化器进程,以便将相同包名下的app分配给不同的进程;创建模块,用于在用户桌面上创建第一用户空间和第二用户空间;判断模块,用于当检测到包安装器有新任务时,判断用户是否开启选择应用程序多开功能;处理模块,用于当判断用户开启选择应用程序多开功能时,根据用户选择的多开数量,调用fork方法复制多个davik进程,以便加载多个相同包名的app运行。

根据本发明实施例的调用hook应用程序多开系统,通过hook技术勾住孵化器进程进而得到多个davik虚拟机进程模拟多个运行空间,进而能够同时加载多个相同包名的app,实现多开程序,有效的解决了单个移动设备上仅能同时登录并运行一个app的问题,省却了用户频繁退出和登录的操作,为用户减少了操作时间,增加了便利性。

另外,根据本发明上述实施例的调用hook应用程序多开系统还可以具有如下附加的技术特征:

在一些示例中,所述第一用户空间为正常应用程序空间,所述第二用户空间为多开应用程序空间。

在一些示例中,所述多个davik进程保存在所述多开应用程序空间内。

在一些示例中,所述处理模块还用于当判断用户未开启选择应用程序多开功能时,按照普通应用程序去安装apk,并安装后apk放入所述正常应用程序空间。

在一些示例中,在将相同包名下的app分配给不同的进程之后,所述调用模块还用于通过调用进程管理模块对所述进程的创建、运行、调度、销毁过程进行管理。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的调用hook应用程序多开方法的流程图;

图2是根据本发明一个具体实施例的调用hook应用程序多开方法的详细流程示意图;

图3是根据本发明一个实施例的调用hook应用程序多开系统的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

以下结合附图描述根据本发明实施例的调用hook应用程序多开方法及系统。

图1是根据本发明一个实施例的调用hook应用程序多开方法的流程图。图2是根据本发明一个具体实施例的调用hook应用程序多开方法的详细流程示意图。如图1所示,并结合图2,该方法包括以下步骤:

步骤s1:通过hook模块钩取孵化器进程,以便将相同包名下的app分配给不同的进程。

进一步地,在将相同包名下的app分配给不同的进程之后,还包括:通过调用进程管理模块对进程的创建、运行、调度、销毁过程进行管理。

换言之,即在基于android系统下,利用内核hook模块钩到进程管理模块把相同包名下的app分配给不同的进程,并对进程的创建,运行,调度,销毁进行管理。

步骤s2:在用户桌面上创建第一用户空间和第二用户空间。

具体地,第一用户空间为正常应用程序空间,第二用户空间为多开应用程序空间。

换言之,即在用户桌面上创建两个空间,一个是正常应用程序空间,另一个是多开的应用程序空间。

步骤s3:当检测到包安装器有新任务时,判断用户是否开启选择应用程序多开功能。

步骤s4:如果是,则根据用户选择的多开数量,调用fork方法复制多个davik进程,以便加载多个相同包名的app运行。

其中,多个davik进程保存在多开应用程序空间内。

进一步地,在本发明的一个实施例中,该方法还包括:如果判断用户未开启选择应用程序多开功能,即用户选择普通应用程序安装功能,则按照普通应用程序去安装apk,并安装后apk放入正常应用程序空间。

换言之,即当用户下载完apk程序后,点击安装,这时hook模块勾到包安装器有新的任务,提示用户是否开启选择应用程序多开功能。如果用户不选择的话就按照普通应用程序去安装,安装后放入正常应用程序空间。如果用户选择多开功能的话,则根据设置多开的数量,系统会hook钩住zygote进程进而fork出多个davik进程来去加载多个相同包名的app运行,实现多开程序。

也即是说,本发明实施例的方法,通过hook层钩取孵化器进程(zygote)进而fork出多个davik虚拟机进程模拟多个运行空间,同时加载多个相同包名的app实现多开程序,这样就可以多开微信以及多开支付宝等应用,减少了用户频繁切换账号的行为,为用户增加了便利性。

综上,根据本发明实施例的调用hook应用程序多开方法,通过hook技术勾住孵化器进程进而得到多个davik虚拟机进程模拟多个运行空间,进而能够同时加载多个相同包名的app,实现多开程序,有效的解决了单个移动设备上仅能同时登录并运行一个app的问题,省却了用户频繁退出和登录的操作,为用户减少了操作时间,增加了便利性。

本发明的进一步实施例还提出了一种调用hook应用程序多开系统。

图3是根据本发明一个实施例的调用hook应用程序多开系统的结构框图。如图3所示,该调用hook应用程序多开系统100包括:调用模块110、创建模块120、判断模块130和处理模块140。

其中,调用模块110用于通过调用hook模块钩取孵化器进程,以便将相同包名下的app分配给不同的进程。

进一步地,在将相同包名下的app分配给不同的进程之后,调用模块110还用于通过调用进程管理模块对进程的创建、运行、调度、销毁过程进行管理。

换言之,即在基于android系统下,利用内核hook模块钩到进程管理模块把相同包名下的app分配给不同的进程,并对进程的创建,运行,调度,销毁进行管理。

创建模块120用于在用户桌面上创建第一用户空间和第二用户空间。

具体地,第一用户空间为正常应用程序空间,第二用户空间为多开应用程序空间。

换言之,即在用户桌面上创建两个空间,一个是正常应用程序空间,另一个是多开的应用程序空间。

判断模块130用于当检测到包安装器有新任务时,判断用户是否开启选择应用程序多开功能。

处理模块140用于当判断用户开启选择应用程序多开功能时,根据用户选择的多开数量,调用fork方法复制多个davik进程,以便加载多个相同包名的app运行。

其中,多个davik进程保存在多开应用程序空间内。

进一步地,在本发明的一个实施例中,处理模块140还用于当判断用户未开启选择应用程序多开功能时,按照普通应用程序去安装apk,并安装后apk放入正常应用程序空间。

换言之,即当用户下载完apk程序后,点击安装,这时hook模块勾到包安装器有新的任务,提示用户是否开启选择应用程序多开功能。如果用户不选择的话就按照普通应用程序去安装,安装后放入正常应用程序空间。如果用户选择多开功能的话,则根据设置多开的数量,系统会hook钩住zygote进程进而fork出多个davik进程来去加载多个相同包名的app运行,实现多开程序。

也即是说,本发明实施例的系统,通过hook层钩取孵化器进程(zygote)进而fork出多个davik虚拟机进程模拟多个运行空间,同时加载多个相同包名的app实现多开程序,这样就可以多开微信以及多开支付宝等应用,减少了用户频繁切换账号的行为,为用户增加了便利性。

需要说明的是,本发明实施例的调用hook应用程序多开系统的具体实现方式与本发明实施例的调用hook应用程序多开方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,此处不再赘述。

根据本发明实施例的调用hook应用程序多开系统,通过hook技术勾住孵化器进程进而得到多个davik虚拟机进程模拟多个运行空间,进而能够同时加载多个相同包名的app,实现多开程序,有效的解决了单个移动设备上仅能同时登录并运行一个app的问题,省却了用户频繁退出和登录的操作,为用户减少了操作时间,增加了便利性。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1