对被可疑应用感染的设备进行恢复的方法及相关设备转让专利

申请号 : CN202011556461.9

文献号 : CN112286736B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张华王森淼秦素娟秦佳伟李文敏高飞涂腾飞温巧燕王华伟崔栋时忆杰陈淼金正平

申请人 : 北京邮电大学

摘要 :

本说明书一个或多个实施例提供一种对被可疑应用感染的设备进行恢复的方法及相关设备;所述方法包括:首先,安装了恢复应用的设备将进行白名单与监控名单的初始化操作;之后,当所述监控名单不为空时,则触发所述恢复应用中的恢复程序,进一步,恢复程序将通过监控Activity与Service组件对监控名单中的其他应用进行实时查询,进而判断设备是否遭遇其他应用的劫持行为;当恢复应用判定设备遭遇劫持行为时,则检查设备是否被恶意设置锁机密码,并解除该密码;并对恶意加密的文件进行密码解除恢复的操作。本方案实现了有效应对劫持类应用,避免财产损失,在系统层面很难用同一的方式来避免感染恶意劫持病毒时,提出了简单,高效的执行方案。

权利要求 :

1.一种对被可疑应用感染的设备进行恢复的方法,其特征在于,该方法由所述设备上的恢复应用执行,包括:

响应于监听到在所述设备上安装新应用的事件,对该新应用进行静态检测,得到静态检测结果;

响应于确定所述静态检测结果指示所述新应用为可疑应用,将所述新应用的信息加至监控名单中;

响应于确定所述监控名单不为空,通过定期查询来获取所述设备上正在运行的进程的信息;

响应于确定所述进程与所述监控名单中的监控应用相关,检查所述设备是否被设置了恶意锁机密码;

响应于确定所述设备被设置了恶意锁机密码,终止所述进程的运行,并删除所述设备上在第一预定目录下的锁机密码文件,以恢复所述设备;

在终止所述进程的运行后,响应于确定所述设备上在第二预定目录下存在与白名单中的所有应用都无关的日志文件,从一个所述日志文件获取密钥和被恶意加密的文件的列表,并利用所述密钥对所述被恶意加密的文件进行解密,其中,在所述设备上首次运行所述恢复应用时,将所述监控名单初始化为空,而将所述白名单初始化为包含所述设备上已安装的所有应用的信息。

2.根据权利要求1所述的方法,其特征在于,所述设备运行于Android操作系统下,所述进程包括Activity组件和/或Service组件。

3.根据权利要求2所述的方法,其特征在于,所述第一预定目录为/data/system/,所述锁机密码文件包括/data/system/目录下的password.key文件或gesture.key文件。

4.根据权利要求2所述的方法,其特征在于,所述第二预定目录为/sdcard/,所述日志文件为/sdcard/目录下扩展名为log的文件。

5.根据权利要求4所述的方法,其特征在于,所述日志文件是通过Xposed框架下的APIHook工具获取的。

6.一种对被可疑应用感染的设备进行恢复的装置,其特征在于,该装置安装在所述设备上,包括:

检测模块,被配置为:响应于监听到在所述设备上安装新应用的事件,对该新应用进行静态检测,得到静态检测结果;

名单更新模块,被配置为:响应于确定所述静态检测结果指示所述新应用为可疑应用,将所述新应用的信息加至监控名单中;

获取模块,被配置为:响应于确定所述监控名单不为空,通过定期查询来获取所述设备上正在运行的进程的信息;

检查模块,被配置为:响应于确定所述进程与所述监控名单中的监控应用相关,检查所述设备是否被设置了恶意锁机密码;

设备恢复模块,被配置为:响应于所述检查模块确定所述设备被设置了恶意锁机密码,终止所述进程的运行,并删除所述设备上在第一预定目录下的锁机密码文件,以恢复所述设备;

文件解密模块,被配置为:在所述设备恢复模块终止所述进程的运行后,响应于确定所述设备上在第二预定目录下存在与白名单中的所有应用都无关的日志文件,从一个所述日志文件获取密钥和被恶意加密的文件的列表,并利用所述密钥对所述被恶意加密的文件进行解密,

其中,在所述设备上首次启动所述装置时,将所述监控名单初始化为空,而将所述白名单初始化为包含所述设备上已安装的所有应用的信息。

7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的方法。

8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令在被计算机执行时,用于使所述计算机实现根据权利要求1至5中任一所述的方法。

说明书 :

对被可疑应用感染的设备进行恢复的方法及相关设备

技术领域

[0001] 本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种对被可疑应用感染的设备进行恢复的方法及相关设备。

背景技术

[0002] 由于劫持类应用与病毒制作成本低廉的特点,使用劫持应用劫持设备并进行勒索财产的现象越来越多,在遏制劫持勒索应用方面,由于窗口顶置等实现劫持的方式多种多
样,目前很难在程序开发上通过系统层面用一种统一的方式来避免用户感染勒索病毒,并
且劫持软件可以将设备的USB接口屏蔽,而设备在感染劫持病毒后的恢复时,往往利用USB
接口进行调试,这使得设备及其文件的恢复出现困难。
[0003] 基于此,需要一种能够实现快速,简单,高效解决设备被劫持后,设备与文件的恢复方案。

发明内容

[0004] 有鉴于此,本说明书一个或多个实施例的目的在于提出一种对被可疑应用感染的设备进行恢复的方法及相关设备,以解决设备被恶意劫持软件劫持后,无法恢复,或者恢复
困难的问题。
[0005] 基于上述目的,本说明书一个或多个实施例提供了设备与文件恢复的方法,包括:在安卓设备出厂预装机时即安装本发明的恢复应用,并将所述恢复应用默认设置为具有安
卓系统中的根权限,安装后的恢复应用将在设备系统中建立白名单与监控名单,并进行白
名单与监控名单的初始化操作;初始化操作后的监控名单为空,当其不为空时,即触发恢复
应用中的恢复程序,具体的触发操作,由所述恢复应用的触发通过对其他应用程序状态变
化的监听实现;当所述恢复程序被触发后,将依据实时查询安卓四大组件中的Activity与
Service组件,来实现对设备是否被劫持进行判断;当恢复程序判断设备被劫持时,立即终
止Activity与Service组件的运行,并利用根权限强行删除被恶意篡改的锁机密码,实现自
动恢复设备;以及,通过调用程序的日志文件,获取加密文件的密钥,对被恶意加密的文件
自动进行解密恢复。
[0006] 基于同一发明构思,本说明书一个或多个实施例还提供了对被可疑应用感染的设备进行恢复的装置,包括:
[0007] 监听模块,被配置为:响应于监听到在所述设备上安装新应用的事件,对该新应用进行静态检测,并将检测出的恶意应用的信息加至监控名单中;
[0008] 触发模块,被配置为:响应于确定所述监控名单不为空,定期查询所述设备上正在运行的进程;以及,响应于确定所述进程与所述监控名单中的监控应用相关,检查所述设备
是否被设置了恶意锁机密码;
[0009] 设备恢复模块,被配置为:响应于确定所述设备被设置了恶意锁机密码,终止所述进程的运行,并删除所述设备上在第一预定目录下的锁机密码文件,以恢复所述设备;
[0010] 其中,在所述设备上首次运行所述恢复应用时,将所述监控名单初始化为空,而将白名单初始化为包含所述设备上已安装的所有应用的信息。
[0011] 基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述
程序时实现如上任意一项所述的对被可疑应用感染的设备进行恢复的方法。
[0012] 基于同一发明构思,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使
所述计算机执行如上述对被可疑应用感染的设备进行恢复的方法。
[0013] 从上面所述可以看出,本说明书一个或多个实施例提供的对被可疑应用感染的设备进行恢复的方法及相关设备,基于安卓系统的组件,以及Xposed框架和自主编写的
Sandbox模组,综合考虑了设备权限,恢复方式来进行的设备与文件的恢复,具备用户操作
简单,快速的特点,有效提高了劫持设备的恢复效率,实现了设备在USB接口等多种劫持方
式下的高效恢复操作,避免了用户的财产损失。

附图说明

[0014] 为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的
附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性
劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1为本说明书一个或多个实施例对被可疑应用感染的设备进行恢复的方法流程示意图;
[0016] 图2为本说明书一个或多个实施例对被可疑应用感染的设备进行恢复的装置模块示意图;
[0017] 图3为本说明书一个或多个实施例的恢复应用的系统框架示意图;
[0018] 图4为本说明书一个或多个实施例的设备恢复示意图;
[0019] 图5为本说明书一个或多个实施例的文件恢复示意图;
[0020] 图6为本说明书一个或多个实施例的电子设备结构示意图。

具体实施方式

[0021] 为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
[0022] 需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。 “包括”或者
“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件
或者物件及其等同,而不排除其他元件或者物件。
[0023] 如背景技术部分所述,现有的对被可疑应用感染的设备进行恢复的方法还难以满足被劫持设备用户的需要。申请人在实现本公开的过程中发现,现有的对被可疑应用感染
的设备进行恢复的方法存在的主要问题在于:面对多种多样的劫持类应用,其劫持手段层
出穷,很难在在程序开发上通过系统层面用一种统一的方式来避免用户感染勒索病毒,并
且劫持软件可以将设备的USB接口屏蔽,而设备在感染劫持病毒后的恢复时,往往利用USB
接口进行调试,这使得设备及其文件的恢复出现极大困难,甚至无法恢复。针对复杂的劫持
手段,很多现有的恢复方案,往往需要专业的技术人员进行恢复操作,对于普通用户来说,
在技术的实现上,也存在极大难度。
[0024] 有鉴于此,本说明书一个或多个实施例提供了一种对被可疑应用感染的设备进行恢复的方法,具体的,在安卓设备出厂预装机时即安装本发明的恢复应用,并将所述恢复应
用默认设置为具有安卓系统中的根权限,安装后的恢复应用将在设备系统中建立白名单与
监控名单,并进行白名单与监控名单的初始化操作;初始化操作后的监控名单为空,当其不
为空时,即触发恢复应用中的恢复程序,具体的触发操作,由所述恢复应用的触发通过对其
他应用程序状态变化的监听实现;当所述恢复程序被触发后,将依据实时查询安卓四大组
件中的Activity与Service组件,来实现对设备是否被劫持进行判断;当恢复程序判断设备
被劫持时,立即终止Activity与Service组件的运行,并利用根权限强行删除被恶意篡改的
锁机密码,实现自动恢复设备;以及,通过调用程序的日志文件,获取加密文件的密钥,对被
恶意加密的文件自动进行解密恢复。
[0025] 本说明书实施例中所述生物识别所涉及的生物特征,例如可以包括眼部特征、声纹、指纹、掌纹、心跳、脉搏、染色体、DNA、人牙咬痕等。其中眼纹可以包括虹膜、巩膜等生物
特征。
[0026] 以下,通过具体的实施例,并具体结合图3示出的恢复应用的系统框架示意图,来详细说明本说明书一个或多个实施例的技术方法。
[0027] 参考图1,本说明书一个实施例的对被可疑应用感染的设备进行恢复的方法,包括以下步骤:
[0028] 步骤S101、响应于监听到在所述设备上安装新应用的事件,对该新应用进行静态检测,得到静态检测结果。
[0029] 在本实施例中,基于用户设备安全的全面考虑,搭载于安卓系统的所述的恢复应用,首先被默认为装机时的预装应用,也即设备于出厂时,即具备并安装了所述恢复应用,
并且,所述恢复应用在安装时,默认具备安卓系统的最高权限,且期限为永久,也即永久根
权限。
[0030] 如图3所示,所述恢复应用安装于设备中,在进行首次运行时,将立即进行初始化运行,包括:在设备中建立白名单与监控名单;并进行白名单的初始化,与监控名单的初始
化。其中,所述白名单的初始化操作为,将此时设备中所有已安装的其他应用加入白名单
中,由于所述恢复应用在本实施例中默认为设备出厂时的预装应用,则可以默认此时设备
中所有其他已安装应用均为非劫持类应用;基于上述安装环境的设定,则所述监控名单的
初始化操作为保持名其名单空白即可。
[0031] 在本步骤中,如图3所示,在监控名单初始化后,首先,所述恢复应用将对设备内的其他所有应用的状态变化进行监听。具体的,利用自主编写,并继承自安卓四大组件之一
BroadcastReceiver的Java类监听程序:AppListener,并依据监听需求,重新编写
onReceice()方法,实现所述状态变化的监听。所述状态变化包括:其他应用的安装操作和
卸载操作;其中,所述程序AppListener预先在AndroidManifest(安卓开发文件)中,声明注
册了要监听的事件,在本实施例中分别为:代表安装的ADDED,与代表卸载的REMOVED操作,
因此可以实现每当有应用进行上述安装与卸载操作时,均会触发恢复应用中程序
AppListerner的onReceive()方法,进而使所述恢复应用获知,实现对所有所述其他应用
监听的目的。
[0032] 进一步的,在恢复应用通过上述方式监听到其他应用进行卸载操作时,所述白名单中将对该应用进行除名处理;
[0033] 在所述恢复应用通过上述方式监听到其他应用进行安装操作时,将调用R‑PackDroid工具,对新安装的该应用进行静态检测,通过静态检测的方式,可以根据得到的
检测结果,判断出新安装的该应用是否为恶意绑架勒索类软件。
[0034] 步骤S102、响应于确定所述静态检测结果指示所述新应用为可疑应用,将所述新应用的信息加至监控名单中。
[0035] 在本公开的实施例中,基于前述静态检测的检测结果,确定新安装的该应用为恶意绑架勒索类软件时,将该软件信息将被加入至所述监控名单内,也即改变了所述监控名
单为空的初始化状态。
[0036] 步骤S103、响应于确定所述监控名单不为空,通过定期查询来获取所述设备上正在运行的进程的信息。
[0037] 在本公开中,结合图3的框架流程,监控名单的空置状态被改变,也即监控名单不为空时,将进一步触发恢复应用中的恢复程序的运行。触发后的恢复程序,将对监控名单内
的所有其他应用进行监控,所述的监控操作,通过对所述其他应用进行定时查询实现。具体
的,所述恢复应将通过定时查询安卓系统中当前运行的两大组件:Activity和Service中至
少一项的当前是否出于活跃状态,之后,再判断所述两大组件的活跃状态是否与监控名单
内的其他应用程序相关,具体通过对当前运行的Activity或Service所属应用的包名与监
控名单中其他应用的包名是否一致来实现;在本公开的实施例中,可以将所述定时查询的
具体周期在后台服务器中设置为1分钟间隔,也可以根据具体需求和情况,改变所述定时查
询的时间间隔,在本实施例中,对定时查询的时间间隔不做具体限定。
[0038] 步骤S104、响应于确定所述进程与所述监控名单中的监控应用相关,检查所述设备是否被设置了恶意锁机密码。
[0039] 在本公开的实施例中,当所述恢复应用监控到的Activity或Service活跃状态与监控名单内的其他应用不相关时,则继续对上述其他应用的状态变化进行监听;当所述恢
复应用监控到的Activity或Service活跃状态与监控名单内的其他应用相关时,则将设备
判断为遭遇其他应用的劫持行为,且终止相关的Activity或Service的运行,并检查本公开
中的设备是否被设置了恶意密码。
[0040] 步骤S105、响应于确定所述设备被设置了恶意锁机密码,终止所述进程的运行,并删除所述设备上在第一预定目录下的锁机密码文件,以恢复所述设备。
[0041] 在本公开中,在所述恢复程序做出劫持判断,并在检查后发现设备被设置了恶意锁机密码的基础上,结合图4的设备恢复示意图,对设备进行解锁操作,具体的,基于所述恢
复程序具备根权限的特点,因此将执行删除/data/system/目录下的password.key文件或
gesture.key文件的操作。其中,所述/data/system/目录为系统配置数据,其下包含的
password.key文件为锁机密码文件,gesture.key文件为锁机图形手势文件,前述/data/
system/目录下的两项文件均为锁机解锁相关的文件。
[0042] 在本实施例中,对锁机方式,以及锁机解锁文件不做具体限定,锁机方式可以是前述的密码或图形手势方式,也可以通过例如:眼纹,指纹,面部识别,生物识别等方式;锁机
解锁文件可以是前述的password.key文件或gesture.key文件,也可以是与锁机方式相对
应的其他锁机解锁文件。
[0043] 在本公开的实施例中,对于参考图3,对于前述实施例,还可以包括:在终止所述进程的运行后,响应于确定所述设备上在第二预定目录下存在与所述白名单中的所有应用都
无关的日志文件,从一个所述日志文件获取密钥和被恶意加密的文件的列表,并利用所述
密钥对所述被恶意加密的文件进行解密。
[0044] 具体的,在所述恢复程序做出劫持判断的基础上,结合图5的文件恢复示意图,在本步骤中,首先需要遍历/sdcard/目录下,也即设备存储目录下所有文件,并获取以.log为
后缀的文件,也即代表了日志信息具体变化内容的文件;其中,所述.log为后缀文件包含了
文件加密的密钥,以及被加密文件的路径等与解密操作相关的信息。其中,每1个该类.log
后缀文件,由Xposed框架中相关的API(应用程序编程接口)对每个其他应用进行调用后形
成,并代表了相应应用的日志信息;自主编写的基于Xposed框架下的Sandbox(沙箱)模组可
以实现对相关API的勾取功能,也就是说,恢复程序可以通过Sandbox勾取相应的.log为后
缀文件来获得与加密相关的各项API参数。若所述/sdcard/目录下不存在.log后缀文件,则
结束文件恢复操作。
[0045] 进一步的,参照图5所示,若获取的.log后缀文件所对应的应用包名,存在于前述的白名单内,则对此.log后缀文件进行过滤操作,也即不对该.log后缀文件进行处理;进行
过滤操作后,若仍有.log后缀文件保留存在,且所述.log后缀文件多于一个时,所述恢复应
用则提示用户从其中选取进行下一步处理的文件,直至所有.log后缀文件均经历过滤或选
取操作,其中,由用户对.log后缀文件进行选取的目的为,避免非劫持行为的良性应用程序
被误操作,在本实施例中,对所述的选取操作方式不做具体限定,可以由用户进行选取,也
可以通过例如:程序的设定,自动部分或全部选取。进一步的,从所有选取出的.log后缀文
件中获取密钥与被加密的文件,并使用密钥针对每个对应的文件进行解密操作。
[0046] 在公开中,对设备自动恢复的操作,以及对文件自动恢复的操作的先后先后顺序上不做具体限定,可根据具体情况只选择恢复前述两项操作之一,或选择首先对文件执行
自动恢复,再对设备执行自动恢复。
[0047] 可见,本说明书一个或多个实施例的对被可疑应用感染的设备进行恢复的方法及相关设备,基于安卓系统的组件,以及Xposed框架和自主编写的Sandbox模组,综合考虑了
设备权限的设置,恢复方式的操作等,来进行的设备与文件的恢复,具备用户操作简单,快
速的特点,有效提高了劫持设备的恢复效率,实现了设备在USB接口等多种劫持方式下的高
效恢复操作,避免了用户的财产损失。
[0048] 需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合
来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个
或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述
的方法。
[0049] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来
执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺
序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
[0050] 基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种对被可疑应用感染的设备进行恢复的装置。
[0051] 参考图2,并具体结合图3示出的恢复应用的系统框架示意图,所述对被可疑应用感染的设备进行恢复的装置,包括:
[0052] 检测模块S201,被配置为:响应于监听到在所述设备上安装新应用的事件,对该新应用进行静态检测,得到静态检测结果;
[0053] 名单更新模块S202,被配置为:响应于确定所述静态检测结果指示所述新应用为可疑应用,将所述新应用的信息加至监控名单中;
[0054] 获取模块S203,被配置为:响应于确定所述监控名单不为空,通过定期查询来获取所述设备上正在运行的进程的信息;
[0055] 检查模块S204,响应于确定所述进程与所述监控名单中的监控应用相关,检查所述设备是否被设置了恶意锁机密码;
[0056] 设备恢复模块S205,被配置为:响应于所述检查模块确定所述设备被设置了恶意锁机密码,终止所述进程的运行,并删除所述设备上在第一预定目录下的锁机密码文件,以
恢复所述设备;
[0057] 其中,在所述设备上首次运行所述恢复应用时,将所述监控名单初始化为空,而将白名单初始化为包含所述设备上已安装的所有应用的信息。
[0058] 检测模块S201,具体被配置为:在本实施例中,基于用户设备安全的全面考虑,搭载于安卓系统的所述的恢复应用,首先被默认为装机时的预装应用,也即设备于出厂时,即
具备并安装了所述恢复应用,并且,所述恢复应用在安装时,默认具备安卓系统的最高权
限,且期限为永久,也即永久根权限。
[0059] 如图3所示,所述恢复应用安装于设备中,在进行首次运行时,将立即进行初始化运行,包括:在设备中建立白名单与监控名单;并进行白名单的初始化,与监控名单的初始
化。其中,所述白名单的初始化操作为,将此时设备中所有已安装的其他应用加入白名单
中,由于所述恢复应用在本实施例中默认为设备出厂时的预装应用,则可以默认此时设备
中所有其他已安装应用均为非劫持类应用;基于上述安装环境的设定,则所述监控名单的
初始化操作为保持名其名单空白即可。
[0060] 在本步骤中,如图3所示,在监控名单初始化后,首先,所述恢复应用将对设备内的其他所有应用的状态变化进行监听。具体的,利用自主编写,并继承自安卓四大组件之一
BroadcastReceiver的Java类监听程序:AppListener,并依据监听需求,重新编写
onReceice()方法,实现所述状态变化的监听。所述状态变化包括:其他应用的安装操作和
卸载操作;其中,所述程序AppListener预先在AndroidManifest(安卓开发文件)中,声明注
册了要监听的事件,在本实施例中分别为:代表安装的ADDED,与代表卸载的REMOVED操作,
因此可以实现每当有应用进行上述安装与卸载操作时,均会触发恢复应用中程序
AppListerner的onReceive()方法,进而使所述恢复应用获知,实现对所有所述其他应用
监听的目的。
[0061] 进一步的,在恢复应用通过上述方式监听到其他应用进行卸载操作时,所述白名单中将对该应用进行除名处理;
[0062] 在所述恢复应用通过上述方式监听到其他应用进行安装操作时,将调用R‑PackDroid工具,对新安装的该应用进行静态检测,通过静态检测的方式,可以根据得到的
检测结果,判断出新安装的该应用是否为恶意绑架勒索类软件。
[0063] 名单更新模块S202,具体被配置为:基于前述静态检测的检测结果,确定新安装的该应用为恶意绑架勒索类软件时,将该软件信息将被加入至所述监控名单内,也即改变了
所述监控名单为空的初始化状态。
[0064] 获取模块S203,具体被配置为:结合图3的框架流程,监控名单的空置状态被改变,也即监控名单不为空时,将进一步触发恢复应用中的恢复程序的运行。触发后的恢复程序,
将对监控名单内的所有其他应用进行监控,所述的监控操作,通过对所述其他应用进行定
时查询实现。具体的,所述恢复应将通过定时查询安卓系统中当前运行的两大组件:
Activity和Service中至少一项的当前是否出于活跃状态,之后,再判断所述两大组件的活
跃状态是否与监控名单内的其他应用程序相关,具体通过对当前运行的Activity或
Service所属应用的包名与监控名单中其他应用的包名是否一致来实现;在本公开的实施
例中,可以将所述定时查询的具体周期在后台服务器中设置为1分钟间隔,也可以根据具体
需求和情况,改变所述定时查询的时间间隔,在本实施例中,对定时查询的时间间隔不做具
体限定。
[0065] 检查模块S204,具体被配置为:当所述恢复应用监控到的Activity或Service活跃状态与监控名单内的其他应用不相关时,则继续对上述其他应用的状态变化进行监听;当
所述恢复应用监控到的Activity或Service活跃状态与监控名单内的其他应用相关时,则
将设备判断为遭遇其他应用的劫持行为,且终止相关的Activity或Service的运行,并检查
本公开中的设备是否被设置了恶意密码。
[0066] 设备恢复模块S205,具体被配置为:在所述恢复程序做出劫持判断,并在检查后发现设备被设置了恶意锁机密码的基础上,结合图4的设备恢复示意图,对设备进行解锁操
作,具体的,基于所述恢复程序具备根权限的特点,因此将执行删除/data/system/目录下
的password.key文件或gesture.key文件的操作。其中,所述/data/system/目录为系统配
置数据,其下包含的password.key文件为锁机密码文件,gesture.key文件为锁机图形手势
文件,前述/data/system/目录下的两项文件均为锁机解锁相关的文件。
[0067] 在本实施例中,对锁机方式,以及锁机解锁文件不做具体限定,锁机方式可以是前述的密码或图形手势方式,也可以通过例如:眼纹,指纹,面部识别,生物识别等方式;锁机
解锁文件可以是前述的password.key文件或gesture.key文件,也可以是与锁机方式相对
应的其他锁机解锁文件。
[0068] 在本公开的实施例中,对于参考图3,对于前述实施例,还可以包括:
[0069] 文件解密模块S206,具体被配置为:在终止所述进程的运行后,响应于确定所述设备上在第二预定目录下存在与所述白名单中的所有应用都无关的日志文件,从一个所述日
志文件获取密钥和被恶意加密的文件的列表,并利用所述密钥对所述被恶意加密的文件进
行解密。
[0070] 具体的,在所述恢复程序做出劫持判断的基础上,结合图5的文件恢复示意图,在本步骤中,首先需要遍历/sdcard/目录下,也即设备存储目录下所有文件,并获取以.log为
后缀的文件,也即代表了日志信息具体变化内容的文件;其中,所述.log为后缀文件包含了
文件加密的密钥,以及被加密文件的路径等与解密操作相关的信息。其中,每1个该类.log
后缀文件,由Xposed框架中相关的API(应用程序编程接口)对每个其他应用进行调用后形
成,并代表了相应应用的日志信息;自主编写的基于Xposed框架下的Sandbox(沙箱)模组可
以实现对相关API的勾取功能,也就是说,恢复程序可以通过Sandbox勾取相应的.log为后
缀文件来获得与加密相关的各项API参数。若所述/sdcard/目录下不存在.log后缀文件,则
结束文件恢复操作。
[0071] 进一步的,参照图5所示,若获取的.log后缀文件所对应的应用包名,存在于前述的白名单内,则对此.log后缀文件进行过滤操作,也即不对该.log后缀文件进行处理;进行
过滤操作后,若仍有.log后缀文件保留存在,且所述.log后缀文件多于一个时,所述恢复应
用则提示用户从其中选取进行下一步处理的文件,直至所有.log后缀文件均经历过滤或选
取操作,其中,由用户对.log后缀文件进行选取的目的为,避免非劫持行为的良性应用程序
被误操作,在本实施例中,对所述的选取操作方式不做具体限定,可以由用户进行选取,也
可以通过例如:程序的设定,自动部分或全部选取。进一步的,从所有选取出的.log后缀文
件中获取密钥与被加密的文件,并使用密钥针对每个对应的文件进行解密操作。
[0072] 在公开中,对设备自动恢复的操作,以及对文件自动恢复的操作的先后先后顺序上不做具体限定,可根据具体情况只选择恢复前述两项操作之一,或选择首先对文件执行
自动恢复,再对设备执行自动恢复。
[0073] 为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0074] 上述实施例的装置用于实现前述任一实施例中相应的对被可疑应用感染的设备进行恢复的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0075] 基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的
计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的对被可疑应用感染
的设备进行恢复的方法。
[0076] 图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中
处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间
在设备内部的通信连接。
[0077] 处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个
或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方
案。
[0078] 存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储
操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案
时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0079] 输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/ 模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中
输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、
扬声器、振动器、指示灯等。
[0080] 通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式 
(例如移动网络、WIFI、蓝牙等)实现通信。
[0081] 总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0082] 需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运
行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实
现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0083] 上述实施例的装置用于实现前述任一实施例中相应的对被可疑应用感染的设备进行恢复的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0084] 基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机
指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的对被可疑应用感染的
设备进行恢复的方法。
[0085] 本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或
其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器
(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器
(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读
存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或
其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0086] 上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的对被可疑应用感染的设备进行恢复的方法,并且具有相应的方法实施例的有益效
果,在此不再赘述。
[0087] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例
或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如
上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细
节中提供。
[0088] 另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/
接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以
理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将
要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员
的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,
对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细
节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的
而不是限制性的。
[0089] 尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例
如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
[0090] 本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做
的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。