分区完整性检查方法及装置与流程

文档序号:13662001阅读:494来源:国知局
分区完整性检查方法及装置与流程

本发明涉及软件系统安全技术领域,尤其是涉及一种分区完整性检查方法及装置。



背景技术:

随着移动互联网的兴起,移动智能设备已经融入人们的日常生活。依据idc(互联网内容提供商)的统计数据,安卓(android)智能终端的出货量位居第一。安卓智能终端内部包括多个分区,例如,系统(system)分区、boot分区、bootloader分区和缓存(cache)分区等多个内部标准分区。由于安卓智能终端内部的分区数量较多,读写效率会有所下降,导致可读性差。因此,为了保证安卓智能终端的正常工作和增强设备的工作性能,需要对安卓智能终端的系统分区完整性进行验证。

但由于现有的androidl及之前的版本没有dmverity功能(即检查开机区是否有遭受修改的东西),也就是不能检查系统分区完整性,这容易导致手机由于系统被篡改或者被破坏这种问题出现异常现象。



技术实现要素:

有鉴于此,本发明的目的在于提供一种分区完整性检查方法及装置,以解决现有的androidl及之前的版本不能检查系统分区完整性,导致手机由于系统被篡改或者被破坏出现异常现象的技术问题。

第一方面,本发明实施例提供了一种被测终端的分区完整性检查方法,包括:

在被测终端开机启动后,检测是否接收到完整性检查指令;

当接收到所述完整性检查指令时,遍历系统分区的各个文件节点,得到实际检查数据;

判断所述实际检查数据与第一次开机启动得到的预设检查数据是否满足预设条件;

若满足所述预设条件,确定系统分区完整性校验通过;

若不满足所述预设条件,确定系统分区完整性校验不通过。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,在所述被测终端开机启动之前,包括:

在所述被测终端第一次开机启动时,遍历系统分区的各个文件节点,得到预设检查数据,所述预设检查数据至少包括:文件名称、文件路径和文件长度。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:控制所述被测终端的显示界面显示校验结果。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述检测是否接收到完整性检查指令,包括:

在所述被测终端进行开机启动后,进入预设的工程模式;

在所述预设的工程模式下,检测是否接收到用户输入的第一检查信息;

当接收到所述第一检查信息时,确定接收到所述完整性检查指令。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述检测是否接收到完整性检查指令,包括:

在所述被测终端进行开机启动后,进入预设的工程模式;

在工具端与所述被测终端建立连接后,检测是否接收到所述工具端发送的第二检查信息;

当接收到所述第二检查信息时,确定接收到所述完整性检查指令。

第二方面,本发明实施例还提供一种分区完整性检查装置,包括:

检测模块,用于在被测终端开机启动后,检测是否接收到完整性检查指令;

第一遍历模块,用于当接收到所述完整性检查指令时,遍历系统分区的各个文件节点,得到实际检查数据;

判断模块,用于判断所述实际检查数据与第一次开机启动得到的预设检查数据是否满足预设条件;

第一确定模块,用于若满足所述预设条件,确定系统分区完整性校验通过;

第二确定模块,用于若不满足所述预设条件,确定系统分区完整性校验不通过。

结合第二方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,还包括:

第二遍历模块,用于在所述被测终端第一次开机启动时,遍历系统分区的各个文件节点,得到预设检查数据,所述预设检查数据至少包括:文件名称、文件路径和文件长度。

结合第二方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,还包括:

控制模块,用于控制所述被测终端的显示界面显示校验结果。

第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述程序代码使所述处理器执行第一方面所述的方法。

第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行第一方面所述的方法。

本发明实施例带来了以下有益效果:本发明提供的分区完整性检查方法及装置,在被测终端开机后进入工程模式后,判断是否接收到完整性检查指令,若接收到完整性检查指令,对系统分区信息进行完整性检查,即遍历系统分区文件节点,得到预设检查数据,预设检查数据包括文件名称、文件长度和文件路径等数据,将此次开机后记录的实际检查数据与被测终端第一次开机后得到的预设检查数据进行对比,判断是否满足预设条件(即数据一致),输出校验结果。本发明克服了现有的androidl及之前版本没有检查系统分区完整性检查功能的缺点,可以提高系统的安全性和性能,可以有效检查出导致手机异常的系统被篡改或者被破坏等问题,检测方法简单,且检测效率高。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的分区完整性检查方法的示意图;

图2为本发明实施例提供的第一检查指令生成方法的示意图;

图3为本发明实施例提供的第二检查指令生成方法的示意图;

图4为本发明实施例提供的分区完整性检查装置的结构示意图。

图标:

11-检测模块;12-第一遍历模块;13-判断模块;14-第一确定模块;15-第二确定模块。

具体实施方式

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

目前,现有的androidl及之前的版本没有dmverity功能(即检查开机区是否有遭受修改的东西),也就是不能检查系统分区完整性,这容易导致手机由于系统被篡改或者被破坏这种问题出现异常现象,基于此,本发明实施例提供的一种分区完整性检查方法及装置,克服了现有的androidl及之前版本没有检查系统分区完整性检查功能的缺点,可以提高系统的安全性和性能,可以有效检查出导致手机异常的系统被篡改或者被破坏等问题,检测方法简单,且检测效率高。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种分区完整性检查方法进行详细介绍。

如图1所示,在发明的一个实施例中,提供一种分区完整性检查方法,所述方法可以运行于被测终端的插件中,所述方法可以包括以下步骤。

在所述被测终端第一次开机启动(即出厂后的第一次开机)时,遍历系统分区的各个文件节点,记录预设检查数据,所述预设检查数据至少包括:文件名称、文件路径和文件长度等数据。

步骤s101,在被测终端开机启动后,检测是否接收到完整性检查指令。

在实际应用中,被测终端可以为安装有androidl及之前版本系统的智能手机。

在前述实施例的基础上,如图2所示,在本发明的又一实施例中,在步骤s101中包括以下步骤。

步骤s201,在所述被测终端进行开机启动后,进入预设的工程模式。

具体的,所述工程模式,即工程师用来给手机调试的模式。在工程模式的测试界面下,可以查看手机信息、电池信息、使用统计和wlan信息等信息。

对于关机状态下的被测终端,用户可以同时按下音量增强键和开机键,使被测终端进入关机工程模式。

步骤s202,在所述预设的工程模式下,检测是否接收到用户输入的第一检查信息。

步骤s203,当接收到所述第一检查信息时,确定接收到所述完整性检查指令。

具体的,第一检查信息可以为用户通过关机工模显示界面输入的输入操作,例如,用户可以点击关机工模显示界面中名称为“systemcheck”的操作按钮。当被测终端接收到用户的操作指令后,开始执行分区完整性检查。

在前述实施例的基础上,如图3所示,在本发明的又一实施例中,步骤s101包括以下步骤。

步骤s301,在所述被测终端进行开机启动后,进入预设的工程模式。

步骤s302,在工具端与所述被测终端建立连接后,检测是否接收到所述工具端发送的第二检查信息。

步骤s303,当接收到所述第二检查信息时,确定接收到所述完整性检查指令。

在实际应用中,所述工具端为android调试桥(androiddebugbridge,adb)。adb是软件开发工具包(androidsdk)里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的android设备(如手机),它具有运行设备的shell(命令行)的功能。

本发明实施例中,在被测终端与计算机的usb接口连接后,adb可以向被测终端发送adb(adbshellgetpropsystemcheck)指令,将这个adb命令作为第二检查信息。所述被测终端接收到工具端发送的所述第二检查信息时,确定接收到所述完整性检查指令。

步骤s102,当接收到所述完整性检查指令时,遍历系统分区的各个文件节点,得到实际检查数据。

具体的,所述实际检查数据为此次开机时遍历系统各个分区记录的文件名称、文件长度和文件路径等数据。

步骤s103,判断所述实际检查数据与第一次开机启动得到的预设检查数据是否满足预设条件。

在实际应用中,所述预设条件为所述实际检查数据和所述预设检查数据一致。

步骤s104,若满足所述预设条件,确定系统分区完整性校验通过。

步骤s105,若不满足所述预设条件,确定系统分区完整性校验不通过。

本发明提供的分区完整性检查方法,在被测终端开机后进入工程模式后,判断是否接收到完整性检查指令,若接收到完整性检查指令,对系统分区信息进行完整性检查,即遍历系统分区文件节点,得到预设检查数据,预设检查数据包括文件名称、文件长度和文件路径等数据,将此次开机后记录的实际检查数据与被测终端第一次开机后得到的预设检查数据进行对比,判断是否满足预设条件(即数据一致),输出校验结果。

本发明克服了现有的androidl及之前版本没有检查系统分区完整性检查功能的缺点,可以提高系统的安全性和性能,可以有效检查出导致手机异常的系统被篡改或者被破坏等问题,检测方法简单,且检测效率高。

在前述实施例的基础上,在本发明的又一实施例中,所述分区完整性检查方法还包括:控制所述被测终端的显示界面显示校验结果。

示例性的,若所述实际检查数据和所述预设检查数据一致,显示界面显示“ok”;若所述实际检查数据和所述预设检查数据不一致,显示界面显示“fail”。

以下以举例方式说明本发明实施例提供的分区完整性检查方法的具体工作原理:

1、以接收第一检查信息为例,其步骤如下:

用户长按被测终端的开机键,启动所述被测终端;

所述被测终端开机启动后,显示界面显示进入工程模式;

用户点击显示界面上的”systemcheck”按钮,用户的输入操作作为第一检查信息;

被测终端接收到用户输入的第一检查信息后,被测终端的插件开始遍历系统分区的各个文件节点,得到实际检查数据;

将被测终端此次开机得到的实际检查数据与第一次开机得到的预设检查数据进行比较;

被测终端的显示界面显示检测结果,数据一致,显示“ok”,数据不一致,显示“fail”。

2、以接收第二检查信息为例,其步骤如下:

用户长按被测终端的开机键,启动所述被测终端;

所述被测终端开机启动后,显示界面显示进入工程模式;

被测终端与adb建立连接后,被测终端接收adb发送的adb指令(adbshellgetpropsystemcheck),将adb指令作为第二检查信息;

被测终端在接收到adb发送的第二检查信息后,被测终端的插件开始遍历系统分区的各个文件节点,得到实际检查数据;

将被测终端此次开机得到的实际检查数据与第一次开机得到的预设检查数据进行比较;

被测终端的显示界面显示检测结果,数据一致,显示“ok”,数据不一致,显示“fail”。

如图4所示,在本发明的又一实施例中,还提供了一种分区完整性检查装置,本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

所述分区完整性检查装置包括:检测模块11、第一遍历模块12、判断模块13、第一确定模块14和第二确定模块15。

所述检测模块11,用于在被测终端开机启动后,检测是否接收到完整性检查指令;

所述第一遍历模块12,用于当接收到所述完整性检查指令时,遍历系统分区的各个文件节点,得到实际检查数据;

所述判断模块13,用于判断所述实际检查数据与第一次开机启动得到的预设检查数据是否满足预设条件;

所述第一确定模块14,用于若满足所述预设条件,确定系统分区完整性校验通过;

所述第二确定模块15,用于若不满足所述预设条件,确定系统分区完整性校验不通过。

在前述实施例的基础上,在本发明的又一实施例中,所述分区完整性检查装置还包括:第二遍历模块。

所述第二遍历模块,用于在所述被测终端第一次开机启动时,遍历系统分区的各个文件节点,得到预设检查数据,所述预设检查数据至少包括:文件名称、文件路径和文件长度。

在前述实施例的基础上,在本发明的又一实施例中,所述分区完整性检查装置还包括:控制模块。

所述控制模块,用于控制所述被测终端的显示界面显示校验结果。

在本发明的又一实施例中,还提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述程序代码使所述处理器执行上述分区完整性检查方法的步骤。

在本发明的又一实施例中,还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述分区完整性检查方法。

本发明实施例所提供的分区完整性检查方法、装置以及被测终端的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的被测终端和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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