应用防卸载方法及装置与流程

文档序号:12786770阅读:630来源:国知局
应用防卸载方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种应用防卸载方法及装置。



背景技术:

随着计算机技术的不断发展,移动设备(如手机、Pad)在人们日常生活中的地位日益重要。

通常,用户会选择下载安全应用来保证移动设备以及移动设备内资料的安全。例如,人们通常会在手机中下载手机卫士这款应用,来保证手机内存储的资料的安全;或者在手机丢失之后,利用手机卫士可以阻止被盗手机的刷机操作,从而防止手机被刷机后二次出售。

现有技术中,当用户或者恶意软件卸载安全应用时,移动设备的系统一般会输出关于该卸载操作的日志。所述安全应用通常会监视系统日志输出,当获取所述关于卸载操作的日志时,可以通过弹窗拦截用户或者恶意软件的卸载操作,如此来达到应用防卸载的目的。但这种方法很容易被破解,例如当手机与电脑连接之后,能够通过手机助手直接将应用卸载;另外,很多系统日志输出并不准确,例如手机卫士被恶意卸载时,系统没有输出关于卸载操作的日志,这样就容易错失拦截手机卫士被恶意卸载的机会。

综上所述,现有技术中存在有应用被恶意卸载的问题。



技术实现要素:

本申请实施例的目的是提供一种应用防卸载方法及装置,用以解决现有技术中存在的应用被恶意卸载的问题。

为解决上述技术问题,本申请实施例提供的应用防卸载方法及装置是这样 实现的:

一种应用防卸载方法,包括:

在接收到卸载应用的请求时,发起解除所述应用的设备管理器的操作;

锁定屏幕并进行鉴权操作;

判断所述鉴权操作是否成功;

若否,则不解除所述应用的设备管理器,并不响应卸载所述应用的请求;

其中所述设备管理器是由以下方法建立的:

接收针对应用建立设备管理器的请求;

响应所述请求,使所述应用继承DeviceAdminReceiver方法;

在配置文件中声明所述DeviceAdminReceiver方法;

根据所述配置文件,激活所述应用的设备管理器,激活后所述设备管理器用于防止所述应用被卸载。

优选地,在不响应卸载所述应用的请求之后,还包括:

定位当前地理位置信息,并上传所述地理位置信息至所述应用的服务器。

优选地,在不响应卸载所述应用的请求之后,还包括:

定位当前地理位置信息,并发送所述地理位置信息至预设移动设备。

优选地,在判断鉴权操作是否成功之后,还包括:

若是,则解除锁屏,并解除所述应用的设备管理器,并响应卸载所述应用的请求。

优选地,在解除锁屏之后,还包括:

输出请求确认的对话框;

根据所述对话框中被触发的按钮确定是否解除所述应用的设备管理器;

相应地,所述解除所述应用的设备管理器,包括:

若确定按钮被触发,则解除所述应用的设备管理器。

一种应用防卸载装置,包括:

接收单元,用于在接收到卸载应用的请求时,发起解除所述应用的设备管 理器的操作;

锁屏单元,用于锁定屏幕并进行鉴权操作;

判断单元,用于判断所述鉴权操作是否成功;

处理单元,用于在所述鉴权操作不成功时,不解除所述应用的设备管理器,并不响应卸载所述应用的请求;

其中所述设备管理器是由以下装置建立的:

第二接收单元,用于接收针对应用建立设备管理器的请求;

响应单元,用于响应所述请求,使所述应用继承DeviceAdminReceiver方法;

声明单元,用于在配置文件中声明所述DeviceAdminReceiver方法;

激活单元,用于根据所述配置文件,激活所述应用的设备管理器,激活后所述设备管理器用于防止所述应用被卸载。

优选地,在所述处理单元之后,还包括:

第一定位单元,用于定位当前地理位置信息,并上传所述地理位置信息至所述应用的服务器。

优选地,在所述处理单元之后,还包括:

第二定位单元,用于定位当前地理位置信息,并发送所述地理位置信息至预设移动设备。

优选地,在所述判断单元之后,还包括:

第一处理子单元,用于在所述鉴权操作成功时,解除锁屏;

第二处理子单元,用于在解除锁屏后,解除所述应用的设备管理器,并响应卸载所述应用的请求。

优选地,在所述第一处理子单元之后,还包括:

输出子单元,用于在解除锁屏后,输出请求确认的对话框;

第一判断子单元,用于根据所述对话框中被触发的按钮确定是否解除所述应用的设备管理器;

相应地,所述第二处理子单元,还用于在确定按钮被触发时,解除所述应用的设备管理器。

由以上本申请实施例提供的技术方案可见,通过针对应用建立设备管理器后,在卸载应用之前需要首先解除所述应用的设备管理器,而解除设备管理器需要进行鉴权操作;在鉴权操作不成功时,就无法解除所述应用的设备管理器,也就无法卸载所述应用。如此,可以防止不法分子恶意卸载应用,提高了应用卸载的难度更加有效地保证移动设备中应用的安全性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一实施例中提供的应用防卸载方法的流程图;

图2为本申请一实施例中提供的建立设备管理器方法的流程图;

图3为本申请一实施例中提供的应用防卸载装置的模块示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为申请一实施例提供的应用防卸载方法流程图。如图1所述应用防卸载方法,具体包括如下步骤:

S110:在接收到卸载应用的请求时,发起解除所述应用的设备管理器的操作。

系统在接收到卸载应用的请求时,需要解除所述应用的设备管理,所以会发起解除所述应用的设备管理器的操作。

本实施例中,其中所述设备管理器是由如图2所示的方法建立的:

S101:接收针对应用建立设备管理器的请求。

S102:响应所述请求,使所述应用继承DeviceAdminReceiver方法。

建立应用所属的设备管理器时,所述应用需要继承DeviceAdminReceiver方法。所述DeviceAdminReceiver方法是一种特殊的广播接收器(BroadcastReceiver),用于当他人通过发广播通知多方同一消息时,广播接收器能够接收到该广播的信息。DeviceAdminReceiver方法是继承BroadcastReceiver特性的一种系统特殊定制的广播接收器。通过该DeviceAdminReceiver方法能够接收到通常广播接收器无法接收到的信息,如用户手机密码输入是否正确以及用户对手机密码的修改等信息。

代码示例如下:

需要说明的是,上文提及的代码仅为本实施例发送请求的部分代码示例,为将本实施例阐述得清楚简洁,对于本实施例全部代码在此不作赘述。

S103:在配置文件中声明所述DeviceAdminReceiver方法。

移动设备在配置文件(AndroidManifest.xml)里面声明所述DeviceAdminReceiver方法,代码示例如下:

需要说明的是,上文提及的代码仅为本实施例发送请求的部分代码示例,为将本实施例阐述得清楚简洁,对于本实施例全部代码在此不作赘述。

在S103步骤中,还可以在所述声明中写入权限信息。所述权限信息可以在设备管理器被激活后,使得设备管理器获取所述权限。例如,请求监控屏幕解锁次数,请求锁定屏幕、请求对密码的设置规则进行设置以及其他避免不法分子对设备执行不当操作导致应用被恶意卸载的相关操作等等,本实施例对此并不加以限定。例如,本实施例中,请求设备管理器监控屏幕解锁次数,若当前屏幕被解锁次数超过一定次数(例如3次),仍旧未能成功解锁,则能够锁定设备或者删除设备中的数据,避免不法分子通过其他途径将设备解锁后获取 设备内的数据等信息,对用户的财产安全造成威胁。另外,本实施例中,能够设置验证码的规则。例如,设置验证码为数字与字母的组合并规定在验证码中数字以及字母的个数(如规定验证码中包括3个数字以及3个字母,如367xyz)。再例如,设置验证码为数字与大写字母的组合并规定数字与大写字母分别的个数,如设置验证码中数字为2个,大写字母为5个(如23WERTY)。

上述举例中设置的验证码的个数及组合仅为示例,实际应用中设置的验证码可以为任意字符的组合,并且可以为任意个数,本实施例对此并不加以限定。

在上文提及的代码示例中的“@xml/device_admin_sample”能够说明写入权限信息。

具体地,在声明中写入权限信息的代码示例如下:

另外,在Java代码中,代码示例如下:

需要说明的是,上文提及的代码仅为本实施例发送请求的部分代码示例,为将本实施例阐述得清楚简洁,对于本实施例发送请求的全部代码在此不作赘述。

S104:根据所述配置文件,激活所述应用的设备管理器,激活后所述设备管理器用于防止所述应用被卸载。

具体地,激活应用的设备管理器的步骤如下所示,包括:

A1:声明一个设备管理器的Intent。代码示例如下:

Inten tintent=

new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN)

A2:在所述Intent中加入配置文件中声明的DeviceAdminReceiver。代码示例如下:

A3:判断系统是否支持设备管理器。代码示例如下:

ResolveInfo resolveInfo=context.getPackageManager().resolveActivity(intent,PackageManager.MATCH_DEFAULT_ONLY)

A4:若系统支持设备管理器,在确定resolveInfo不是null时,则启动所述Intent。代码示例如下:

if(resolveInfo!=null){context.startActivity(intent);}

需要说明的是,上文提及的代码仅为本实施例发送请求的部分代码示例,为将本实施例阐述得清楚简洁,对于本实施例发全部代码在此不作赘述。

当建立应用所属的设备管理器后,可以防止所述应用被卸载。

S120:锁屏屏幕并进行鉴权操作。

如上所述,在接收到卸载应用的请求时,发起解除所述应用的设备管理器的操作后,系统可以锁定屏幕并进行鉴权操作。

所述锁定屏幕的Java代码的示例如下:

需要说明的是,上文提及的代码仅为本实施例发送请求的部分代码示例,为将本实施例阐述得清楚简洁,对于本实施例发送请求的全部代码在此不作赘 述。

在系统锁定当前屏幕时,系统可以拒绝的其他操作,例如系统可以拒绝解除当前应用的设备管理器的操作;还可以拒绝管理软件对当前应用的删除操作,也可以拒绝系统命令,例如安卓调试桥(Android Debug Bridge,以下简称adb命令)对当前应用的删除操作。

本实施例中,当前应用本身能够收到来自系统的通知,通知该应用,当前用户正在尝试解除设备管理器的操作。当该应用捕获到该通知,可以进行鉴权操作。所述鉴权操作可以是上述建立设备管理器的方法中的验证密码,如数字密码,图形密码,还可以是指纹识别、人脸识别、声纹识别等。

S130:判断所述鉴权操作是否成功。

S140:若否,则不解除所述应用的设备管理器,并不响应卸载所述应用的请求。

本实施例中,在S130步骤之后,还可以包括:

若是,则解除锁屏,并解除所述应用的设备管理器,并响应卸载所述应用的请求。

通过本实施例,通过针对应用建立设备管理器后,在卸载应用之前需要首先解除所述应用的设备管理器,而解除设备管理器需要进行鉴权操作;在鉴权操作不成功时,就无法解除所述应用的设备管理器,也就无法卸载所述应用。如此,可以防止不法分子恶意卸载应用,提高了应用卸载的难度更加有效地保证移动设备中应用的安全性。

本实施例中,在解除锁屏之后,还包括:

输出请求确认的对话框;

根据所述对话框中被触发的按钮确定是否响应所述指令;

相应地,所述解除所述应用的设备管理器,包括:

若确定按钮被触发,则解除所述应用的设备管理器。

本实施例中,通过输出请求确认的对话框,来提醒用户是否确认解除应用 的设备管理器的操作,从而避免用户误操作的情况,提高了用户的体验。

在本申请的一个实施例中,在所述S140步骤之后,还可以包括:

定位当前地理位置信息,并上传所述地理位置信息至所述应用的服务器。

本实施例中,系统所安装或所处于的移动设备中,可以获得该移动设备所处地理位置的信息。这样,所述系统可以获得当前位置的地理位置信息。常用的方法主要是通过移动设备内置的GPS定位系统或电信移动运营商的移动通信网络,或者是通过上述两种方式的结合来定位移动设备并获取移动设备的地理位置信息。也可以结合WIFI热点信息获取移动设备的地理位置信息。

例如移动设备所位于的位置,可以经该移动设备可以记录位置信息的定位装置记录下的,代表位置的坐标信息。常见的定位装置可以采用美国GPS卫星导航系统,欧洲“伽利略”卫星导航系统,俄罗斯GLONASS卫星导航系统,或者中国“北斗”卫星导航系统等,或者类似的组合。这类定位的坐标信息也称为移动定位。此外,也可以是网络设备基于应用所位于的移动设备的信号特点转换得到的,例如由网络运营商利用基站覆盖原理,通过所述应用所位于的移动设备的信号通过基站定位计算得到的位置信息。在后者的定位计算中,一般由移动设备测量不同基站的下行导频信号,得到不同基站下行导频的到达时刻(Time of Arrival,TOA)或到达时间差(Time Difference of Arrival,TDOA),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,从而计算出移动设备的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,现有技术中有多种算法,较为复杂。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。所述位置信息,还可以是通过基站辅助定位并结合移动设备中的定位装置共同定位得到的较为精确的位置。这里并不限定位置信息的获取方式。

通过本实施例,在密码不正确时,系统可以将定位的当前地理位置信息上传至应用的服务器。如此,在移动设备被盗后,如果不法分子尝试卸载应用,在密码不正确时不仅可以防止应用被卸载还可以及时获取被盗移动设备的地 址位置信息,便于追回被盗移动设备。

在本申请的一个实施例中,在所述S140步骤之后,还可以包括:

定位当前地理位置信息,并发送所述地理位置信息至预设移动设备。

本实施例中,定位当前地址位置信息与上一实施例中类似,此处不再赘述。本实施例与上一实施例不同之处在于,在定位当前地理位置信息后,可以发送所述地理位置信息至预设移动设备。

所述预设移动设备是用户预设设置的。例如用户设置的预设移动设备为亲友的手机,则系统在定位当前地理位置信息后,可以发送所述地理位置信息至亲友的手机上。

通过本实施例,在密码不正确时,系统可以将定位的当前地理位置信息发送至预设移动设备。如此,在移动设备被盗后,如果不法分子尝试卸载应用,在密码不正确时不仅可以防止应用被卸载还可以及时获取被盗移动设备的地址位置信息,便于追回被盗移动设备。

与上述方法流程对应的,本申请的实施例还提供了一种应用防卸载装置。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过服务器的中央处理器(Central Process Unit,CPU)将对应的计算机程序指令读取到内存中运行形成的。

图3为本申请一实施例提供的建立设备管理器的装置的模块示意图,该装置中各个单元的功能与上述方法中各个步骤的功能类似,故可以参照上述方法实施例中的具体内容。该建立设备管理器的装置包括:

接收单元210,用于在接收到卸载应用的请求时,发起解除所述应用的设备管理器的操作;

锁屏单元220,用于锁定屏幕并进行鉴权操作;

判断单元230,用于判断所述鉴权操作是否成功;

处理单元240,用于在所述鉴权操作不成功时,不解除所述应用的设备管理器,并不响应卸载所述应用的请求;

其中所述设备管理器是由以下装置建立的:

第二接收单元,用于接收针对应用建立设备管理器的请求;

响应单元,用于响应所述请求,使所述应用继承DeviceAdminReceiver方法;

声明单元,用于在配置文件中声明所述DeviceAdminReceiver方法;

激活单元,用于根据所述配置文件,激活所述应用的设备管理器,激活后所述设备管理器用于防止所述应用被卸载。

通过本实施例,针对应用建立设备管理器后,在卸载应用之前需要首先解除所述应用的设备管理器,而解除设备管理器需要进行鉴权操作;在鉴权操作不成功时,就无法解除所述应用的设备管理器,也就无法卸载所述应用。如此,可以防止不法分子恶意卸载应用,提高了应用卸载的难度更加有效地保证移动设备中应用的安全性。

优选地,在所述处理单元240之后,还包括:

第一定位单元,用于定位当前地理位置信息,并上传所述地理位置信息至所述应用的服务器。

优选后,通过所述第一定位单元,在密码不正确时,系统可以将定位的当前地理位置信息上传至应用的服务器。如此,在移动设备被盗后,如果不法分子尝试卸载应用,在密码不正确时不仅可以防止应用被卸载还可以及时获取被盗移动设备的地址位置信息,便于追回被盗移动设备。

优选地,在所述处理单元240之后,还包括:

第二定位单元,用于定位当前位置信息,并发送所述位置信息至预设移动设备。

优选后,通过所述第二定位单元,在密码不正确时,系统可以将定位的当前地理位置信息发送至预设移动设备。如此,在移动设备被盗后,如果不法分子尝试卸载应用,在密码不正确时不仅可以防止应用被卸载还可以及时获取被盗移动设备的地址位置信息,便于追回被盗移动设备。

优选地,在所述判断单元230之后,还包括:

第一处理子单元,用于在所述鉴权操作成功时,解除锁屏;

第二处理子单元,用于在解除锁屏后,解除所述应用的设备管理器,并响应卸载所述应用的请求。

优选后,在鉴权操作成功后,可以解除应用的设备管理器,从而卸载应用。

优选地,在所述第一处理子单元之后,还包括:

输出子单元,用于在解除锁屏后,输出请求确认的对话框;

第一判断子单元,用于根据所述对话框中被触发的按钮确定是否响应所述指令;

相应地,所述第二处理子单元,包括:

用于在确定按钮被触发时,解除所述应用的设备管理器。

优选后,通过输出请求确认的对话框,来提醒用户是否确认解除应用的设备管理器的操作,从而避免用户误操作的情况,提高了用户的体验。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括 一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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