一种防止Android应用程序被卸载的装置和方法与流程

文档序号:33401711发布日期:2023-03-08 17:39阅读:228来源:国知局
一种防止Android应用程序被卸载的装置和方法与流程
一种防止android应用程序被卸载的装置和方法
技术领域
1.本发明涉及信息安全技术领域,具体是一种防止android应用程序被卸载的装置和方法。


背景技术:

2.现有的智能pos(point of sale,pos)终端广泛采用android系统,基于智能pos终端安全的需求,需要安装特定的android应用来实现安全交易,与安全交易相关应用为pos终端的关键应用。pos使用过程中这些关键应用如果被恶意或意外卸载会直接影响智能pos的功能,如果出现恶意卸载关键应用后替换为带有木马的非授权应用,具有很大的危害。本方案提供一种防止android系统中应用程序被卸载的方法和装置,以防止关键应用程序被恶意或意外卸载。
3.基于行业终端一些关键应用的特殊价值所在,防卸载功能也应运而生。目前,市场上针对此问题的解决方案一般为以下几种:
4.a、出厂预置,使用系统签名文件对关键应用进行签名,开发过程中将该应用预置到system/app下成为系统应用,实现不可卸载功能,但这样又造成了应用无法保证兼容所有不同厂商的产品。
5.b、激活设备管理器的应用不能直接卸载,需要取消激活设备管理器,当用户点击取消设备管理器时,应用可以接收到取消激活的通知,通过阻止程序正常返回达到禁止取消设备管理器的操作,以达到防卸载功能。
6.c、通过系统管理器来管理不可卸载应用名单,在系统卸载应用的流程中途拦截卸载消息,判断为不可卸载应用,阻止卸载动作。
7.现有方案都可以实现防卸载功能,出厂预置的方案控制权在厂商,安全性最高但是不灵活,出厂后用户无法新增不可删除应用;b和c两种方案需要通过设备管理器进行管理不可卸载应用,比较灵活,但其控制权在设备用户,删除用户数据后防卸载的设置也会失效,且缺乏中央管理机制,安全性不足。


技术实现要素:

8.为解决上述问题,本发明提供一种防止android应用程序被卸载的装置和方法。
9.为了实现上述的技术目的,本发明所采用的技术方案为:
10.一种防止android应用程序被卸载的装置,包括:不可卸载应用的数据分区生成模块、不可卸载应用导入模块;
11.所述不可卸载应用的数据分区生成模块包括:
12.配置单元,制作数据分区用于存放不可卸载应用,在配置文件中标记不可卸载应用的安装包文件名及不可卸载信息,并将包含配置文件和不可卸载应用的data/preinstall分区打包成不可卸载数据分区;
13.签名单元,使用用户证书对不可卸载数据分区进行签名,在安装了该用户证书的
设备可以下载对应的不可卸载数据分区;
14.不可卸载应用导入模块包括:
15.下载单元,在fastboot模式下将不可卸载数据分区刷到设备中,下载过程会使用用户证书对数据分区进行签名验证,验签通过后将数据分区中的不可卸载应用及配置文件保存在data/preinstall目录下;
16.安装单元,在下载完不可卸载数据分区,设备启动完成后会触发进行不可卸载应用的安装,并将应用设置为不可卸载;
17.判断单元,在系统卸载应用的流程中判断是否为不可卸载应用;
18.提示单元,根据判断单元的判断结果,如果是不可卸载应用阻止卸载动作并提示用户。
19.进一步的,防止android应用程序被卸载的装置还包括以及不可卸载应用恢复模块,所述不可卸载应用恢复模块包括:安装单元,判断单元和提示单元,各个单元同不可卸载导入模块中的安装单元、判断单元与提示单元,在设备恢复出厂设置完成后会触发执行安装单元,实现恢复出厂设置也无法卸载关键应用的功能。
20.本发明还提供了一种防止android应用程序被卸载的方法,包括如下步骤:
21.1)不可卸载应用数据分区制作;
22.2)对包含不可卸载应用的数据分区使用用户证书进行签名;
23.3)将设备转到fastboot模式,下载已签名的包含不可卸载应用的数据分区;
24.4)数据分区下载成功后进行不可卸载应用的安装,并设置应用为不可卸载;
25.5)每次发生应用卸载操作时在系统卸载应用的流程中判断是否为不可卸载应用;
26.6)根据判断单元的判断结果,如果是不可卸载应用阻止卸载动作并提示用户。
27.进一步的,步骤1)不可卸载应用数据分区制作,具体包括如下步骤:
28.在配置文件中标记不可卸载应用的安装包文件名及不可卸载信息,并将包含配置文件和不可卸载应用的data/preinstall分区打包成不可卸载数据分区。
29.进一步的,步骤4)中数据分区下载成功后进行设备重启,设备重启后进行不可卸载应用的安装。
30.进一步的,防止android应用程序被卸载的方法还包括:在设备恢复出厂设置完成后,根据不可卸载数据分区进行不可卸载应用的安装,并将应用设置为不可卸载。
31.基于上述,本发明还提供一种计算机可读的存储介质,所述的存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述的至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行实现上述防止android应用程序被卸载的方法。
32.采用上述的技术方案,本发明与现有技术相比,其具有的有益效果为:
33.1)本发明设计的防止应用被卸载方案,由用户证书来管理不可卸载应用,包含不可卸载应用的用户数据分区是经过用户证书验证才能下载安装,解决了现有出厂预置方案无法灵活适配不同厂商的问题;
34.2)本发明设计的防止应用被卸载方案,将不可卸载应用存放在数据分区的data/preinstall中,恢复出厂设置不会清空该分区,恢复出厂设置完成后会重新安装该分区的应用,解决了现有b和c方案通过恢复出厂设置应用会被卸载无法恢复的问题。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为不可卸载应用的安装流程图;
37.图2为不可卸载应用的数据分区生成模块的示意图;
38.图3为不可卸载应用导入模块的示意图;
39.图4为不可卸载应用恢复模块的示意图。
具体实施方式
40.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
41.参照附图1-4所示,本实施例提供了一种防止android系统中应用程序被卸载的装置,包括:不可卸载应用的数据分区生成模块、不可卸载应用导入模块以及不可卸载应用恢复模块;
42.不可卸载应用的数据分区生成模块包括:配置单元,制作数据分区用于存放不可卸载应用,在配置文件中标记不可卸载应用的安装包文件名及不可卸载信息,并将包含配置文件和不可卸载应用的data/preinstall分区打包成不可卸载数据分区;签名单元,使用用户证书对不可卸载数据分区进行签名,在安装了该用户证书的设备可以下载对应的不可卸载数据分区。
43.不可卸载应用导入模块包括:下载单元,在fastboot模式下将不可卸载数据分区刷到设备中,下载过程会使用用户证书对数据分区进行签名验证,验签通过后将数据分区中的不可卸载应用及配置文件保存在data/preinstall目录下;安装单元,在下载完不可卸载数据分区,设备启动完成后会触发进行不可卸载应用的安装,并将应用设置为不可卸载;判断单元,在系统卸载应用的流程中判断是否为不可卸载应用;提示单元,根据判断单元的判断结果,如果是不可卸载应用阻止卸载动作并提示用户。
44.不可卸载应用恢复模块包括:安装单元,判断单元和提示单元,各个单元同不可卸载导入模块中的安装、判断、提示单元,在设备恢复出厂设置完成后会触发执行安装单元,实现恢复出厂设置也无法卸载关键应用的功能。
45.本实施例还提供了一种防止android应用程序被卸载的方法,包括如下步骤:
46.1)不可卸载应用数据分区制作;具体包括如下步骤:
47.在配置文件中标记不可卸载应用的安装包文件名及不可卸载信息,并将包含配置
文件和不可卸载应用的data/preinstall分区打包成不可卸载数据分区。
48.2)对包含不可卸载应用的数据分区使用用户证书进行签名;
49.3)将设备转到fastboot模式,下载已签名的包含不可卸载应用的数据分区;
50.4)数据分区下载成功设备重启后进行不可卸载应用的安装,并设置应用为不可卸载;
51.5)每次发生应用卸载操作时在系统卸载应用的流程中判断是否为不可卸载应用;
52.6)根据判断单元的判断结果,如果是不可卸载应用阻止卸载动作并提示用户。
53.7)在设备恢复出厂设置完成后,根据不可卸载数据分区进行不可卸载应用的安装,并将应用设置为不可卸载。
54.本发明提供的防止android应用程序被卸载的装置和方法允许客户在设备出厂后安装不可卸载应用并进行统一管理,且恢复出厂设置后不可卸载应用不会丢失,防止恶意或意外卸载关键应用导致数据丢失,增强了智能终端的安全性。
55.另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
56.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
57.以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1