一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

软件完整性的检测方法、装置、电子装置和存储介质与流程

2021-10-24 05:46:00 来源:中国专利 TAG:装置 软件 完整性 检测方法 存储介质


1.本技术涉及软件安全领域,特别是涉及软件完整性的检测方法、装置、电子装置和存储介质。


背景技术:

2.由于组态软件在安装或者运行过程中可能出现文件被篡改、丢失等情形,组态软件往往会存在许多漏洞,在使用组态软件时可能会发生组态软件的运行进程被恶意破坏、系统中的资源配置被篡改、恶意文件被植入执行程序以及关键数据被窃取等严重后果。为了及时发现组态软件中的漏洞,避免动态链接库依赖关系不正确、二进制文件缺失以及组态软件基本功能不正常等问题,需要对组态软件安装之后,运行过程中的文件完整性进行检测。
3.为了实现组态软件的文件完整性检测,现有技术都是先对安装软件进行编码,在安装之后,需要使用软件时再次进行编码,通过前后编码的匹配结果判断软件是否存在修改、破坏等情形,进而得到软件完整性的检测结果。但是,现有技术中在对不同软件进行编码时可能存在编码结果匹配的情形,进而导致对软件的完整性进行检测时可能出现错误判断。
4.针对相关技术中存在的对软件的完整性进行检测时可能出现错误判断的技术问题,目前还没有提出有效的解决方案。


技术实现要素:

5.在本实施例中提供了一种软件完整性的检测方法、装置、电子装置和存储介质,以解决相关技术中对软件的完整性进行检测时可能出现错误判断的问题。
6.第一个方面,在本实施例中提供了一种软件完整性的检测方法,包括:
7.获取多个初始文件,分别基于所述初始文件生成多个初始文件校验码,并基于所述初始文件以及初始文件校验码生成第一校验码,所述初始文件包括待检测软件安装前的所有文件;
8.获取多个待检测文件,分别基于所述待检测文件生成多个待检测文件校验码,并基于所述待检测文件以及待检测文件校验码生成第二校验码,所述待检测文件为所述待检测软件安装后重新获取的与所述初始文件对应的文件;
9.分别判断所述初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断所述第一校验码与第二校验码是否匹配,若匹配,则判定所述待检测软件为完整软件。
10.在其中的一些实施例中,所述分别基于所述初始文件生成多个初始文件校验码,并基于所述初始文件以及初始文件校验码生成第一校验码包括:
11.基于消息摘要算法对所述初始文件进行处理,生成多个所述初始文件校验码;
12.基于消息摘要算法对所述初始文件以及初始文件校验码进行处理,生成所述第一
校验码。
13.在其中的一些实施例中,所述基于所述初始文件以及初始文件校验码生成第一校验码包括:
14.分别将所述初始文件以及初始文件校验码保存到初始文件集合;
15.基于所述初始文件集合生成第一校验码。
16.在其中的一些实施例中,所述分别基于所述待检测文件生成多个待检测文件校验码,并基于所述待检测文件以及待检测文件校验码生成第二校验码包括:
17.基于消息摘要算法对所述待检测文件进行处理,生成多个所述待检测文件校验码;
18.基于消息摘要算法对所述待检测文件以及待检测文件校验码进行处理,生成所述第二校验码。
19.在其中的一些实施例中,所述基于所述待检测文件以及待检测文件校验码生成第二校验码包括:
20.分别将所述待检测文件以及待检测文件校验码保存到待检测文件集合;
21.基于所述待检测文件集合生成第二校验码。
22.在其中的一些实施例中,所述分别判断所述初始文件校验码与待检测文件校验码是否均匹配之后还包括:
23.若不匹配,则判定所述待检测软件为不完整软件,并返回判断结果。
24.在其中的一些实施例中,所述判定所述待检测软件为不完整软件之后还包括:
25.基于所述初始文件对所述待检测文件进行更新。
26.第二个方面,在本实施例中提供了一种软件完整性的检测装置,包括:
27.第一获取模块,用于获取多个初始文件,分别基于所述初始文件生成多个初始文件校验码,并基于所述初始文件以及初始文件校验码生成第一校验码,所述初始文件包括待检测软件安装过程中访问的所有文件;
28.第二获取模块,用于获取多个待检测文件,分别基于所述待检测文件生成多个待检测文件校验码,并基于所述待检测文件以及待检测文件校验码生成第二校验码,所述待检测文件为所述待检测软件安装后重新获取的与所述初始文件对应的文件;
29.判断模块,用于分别判断所述初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断所述第一校验码与第二校验码是否匹配,若匹配,则判定所述待检测软件为完整软件。
30.第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的软件完整性的检测方法。
31.第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的软件完整性的检测方法。
32.与相关技术相比,在本实施例中提供的软件完整性的检测方法、装置、电子装置和存储介质,获取多个初始文件,分别基于所述初始文件生成多个初始文件校验码,并基于所述初始文件以及初始文件校验码生成第一校验码,所述初始文件包括待检测软件安装过程中访问的所有文件;获取多个待检测文件,分别基于所述待检测文件生成多个待检测文件
校验码,并基于所述待检测文件以及待检测文件校验码生成第二校验码,所述待检测文件为所述待检测软件安装后重新获取的与所述初始文件对应的文件;分别判断所述初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断所述第一校验码与第二校验码是否匹配,若匹配,则判定所述待检测软件为完整软件。通过初始文件校验码与待检测文件校验码以及第一校验码与第二校验码的匹配关系确定待检测软件的完整性,解决了对软件的完整性进行检测时可能出现错误判断的技术问题,提高了软件完整性检测的准确性。
33.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
34.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
35.图1是本发明一实施例的软件完整性的检测方法的终端硬件结构框图;
36.图2是本发明一实施例的软件完整性的检测方法的流程示意图;
37.图3是本发明一实施例的软件完整性的检测装置的结构框图。
具体实施方式
38.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
39.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
40.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的软件完整性的检测方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
41.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的软件完整性的检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
42.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
43.请参阅图2,图2是本发明一实施例的软件完整性的检测方法的流程示意图。在本实施例中,软件完整性的检测方法包括:
44.s202:获取多个初始文件,分别基于初始文件生成多个初始文件校验码,并基于初始文件以及初始文件校验码生成第一校验码,初始文件包括待检测软件安装前的所有文件。
45.示例性地,获取待检测软件的初始文件,分别对每个初始文件进行映射处理,生成唯一的校验码,作为每个初始文件对应的初始文件校验码,然后再对所有的初始文件以及初始文件校验码进行整体的映射处理,得到第一校验码。
46.具体的,待检测软件是需要进行完整性检测的软件,其中软件的完整性包括两个方面,一方面是软件代码本身的完整性,包括软件的所有程序文件、配置信息等;另一方面是软件的运行环境的完整性,例如软件的执行文件、配置文件、附属运行库等,若上述内容发生篡改、丢失、植入等情形,则表明待检测软件是不完整的。在其中一个具体实施例中,待检测软件包括组态软件。组态软件又被称为组态监控系统软件,是指控制过程中数据采集与控制的专用软件,应用于自动控制系统监控层的软件平台和开发环境。
47.具体的,初始文件可以是待检测软件安装前的所有准备文件,包括待检测软件及其运行环境中的各种文件,由于初始文件未经过安装或者运行,不存在被篡改、丢失等情形,可以作为待检测软件的标准文件。在其中一个具体实施例中,初始文件是待检测软件安装包内的所有文件。
48.具体的,基于初始文件生成初始文件校验码可以是获取初始文件的源码,将初始文件的源码映射到一个编码,生成初始文件校验码。基于初始文件以及初始文件校验码生成第一校验码可以是将所有初始文件以及初始文件校验码作为一个整体文件,在此基础上生成第一校验码。初始文件校验码和第一校验码分别用于对初始文件和整体文件进行识别,若存在某个文件的校验码与初始文件校验码或者第一校验码匹配,则表明这两个文件相同。
49.s204:获取多个待检测文件,分别基于待检测文件生成多个待检测文件校验码,并基于待检测文件以及待检测文件校验码生成第二校验码,待检测文件为待检测软件安装后重新获取的与初始文件对应的文件。
50.示例性地,获取待检测软件的待检测文件,分别对每个待检测文件进行映射处理,生成唯一的校验码,作为每个待检测文件对应的待检测文件校验码,然后对所有的待检测文件以及待检测文件校验码进行整体的映射处理,得到第二校验码。
51.具体的,待检测文件是待检测软件在运行过程中所访问的与初始文件相对应的文件,包括待检测软件本身的文件以及运行环境中的各种文件。具体的,待检测文件可以是安装后重新获取的与初始文件相对应的文件,用于判断待检测软件在安装过程中是否出现文件篡改、丢失等情形;也可以是软件运行时重新获取的与初始文件相对应的文件,用于判断待检测软件在运行过程中是否出现文件篡改、丢失等情形。在其中一个具体实施例中,当待检测软件需要执行编译、下载或者调试等指令时,获取与初始文件相对应的文件,作为待检测文件,然后基于待检测文件获取待检测文件校验码以及第二校验码。
52.s206:分别判断初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断第一校验码与第二校验码是否匹配,若匹配,则判定待检测软件为完整软件。
53.具体的,依次将获取的初始文件校验码与待检测文件校验码进行对比,若每个初始文件校验码与该初始文件所对应的待检测文件的待检测文件校验码均匹配,则表明所有的初始文件和待检测文件均相同。可以理解的,为了避免不同文件出现匹配编码进而导致错误判断的情形,因此需要进行二次验证,即再次将第一校验码和第二校验码进行对比,若初始文件的第一校验码和待检测文件的第二校验码也匹配,则表明初始文件和待检测文件相同,待检测软件没有发生篡改、丢失等情形,即待检测软件为完整软件。
54.本实施例获取多个初始文件,分别基于初始文件生成多个初始文件校验码,并基于初始文件以及初始文件校验码生成第一校验码,初始文件包括待检测软件安装过程中访问的所有文件;获取多个待检测文件,分别基于待检测文件生成多个待检测文件校验码,并基于待检测文件以及待检测文件校验码生成第二校验码,待检测文件为待检测软件安装后重新获取的与初始文件对应的文件;分别判断初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断第一校验码与第二校验码是否匹配,若匹配,则判定待检测软件为完整软件。通过初始文件校验码以及待检测文件校验码以及第一校验码与第二校验码的匹配关系确定软件的完整性,解决了对软件的完整性进行检测时可能出现错误判断的技术问题,提高了软件完整性检测的准确性。
55.在另一个实施例中,分别基于初始文件生成多个初始文件校验码,并基于初始文件以及初始文件校验码生成第一校验码包括:
56.步骤1:基于消息摘要算法对初始文件进行处理,生成多个初始文件校验码;
57.步骤2:基于消息摘要算法对初始文件以及初始文件校验码进行处理,生成第一校验码。
58.示例性地,获取初始文件的二进制格式文件,基于消息摘要算法对二进制格式文件进行处理,生成每个初始文件的初始文件校验码。获取所有初始文件以及初始文件校验码的所有二进制格式文件,生成一个整体的二进制格式文件,基于消息摘要算法对整体的二进制格式文件进行处理,生成第一校验码。其中,消息摘要算法是指对任意长度的输入数据进行映射以生成固定长度的输出数据。消息摘要算法的输入可以是任意长度,该长度越长,输入数据的映射程度就越高,消息摘要算法的输出结果就越安全。同时,消息摘要算法的输出具有随机性和唯一性,随机性是指消息摘要算法是通过随机方式生成数据结果,但
是该随机方式又不是绝对的随机方式,因为对相同的输入进行两次消息摘要处理,其结果是相同的,对不同的输入进行消息摘要处理,其结果也不相同,即消息摘要算法具有唯一性。因此,基于消息摘要算法对文件进行处理,若文件相同,消息摘要算法生成的编码也相同,反之则编码不相同。
59.在其中一个具体实施例中,消息摘要算法包括md5算法。具体的,通过md5算法对二进制格式文件进行处理生成校验码包括:对二进制格式文件进行填充,在二进制格式文件的尾部依次填充一个“1”和若干个“0”,直到对该二进制格式文件数据求余数的结果等于448;然后用一个64位数据记录二进制格式文件数据的长度,并将该64位数据加入上述填充后的二进制格式文件数据的尾部;最后加入4个定义的标准数据,对二进制格式文件数据进行循环运算,得到最终的编码结果。应当说明的是,本实施例中获取校验码不仅仅局限于消息摘要算法,还包括循环冗余校验算法、数字签名方法等,本发明对此不再赘述。
60.本实施例基于消息摘要算法分别生成初始文件校验码和第一校验码,基于初始文件校验码以及第一校验码即可对文件进行判断,只需要生成的验证码一致即可认定相关文件相同,计算成本低,并且映射方式具有随机性和唯一性,映射过程不需要秘钥且生成的校验码无法被反向解密,提高了校验码的安全性。
61.在另一个实施例中,基于初始文件以及初始文件校验码生成第一校验码包括:
62.步骤1:分别将初始文件以及初始文件校验码保存到初始文件集合;
63.步骤2:基于初始文件集合生成第一校验码。
64.具体的,将所有的初始文件以及对应的初始文件校验码保存到初始文件集合中,该集合在计算机内可以表现为一个文件夹,或者所有初始文件以及初始文件校验码组合而成的整体文件。基于该初始文件集合再次进行映射,生成第一校验码。
65.在其中一个具体实施例中,初始文件包括软件安装包内的所有程序文件、配置文件、动态链接文件等。对上述初始文件分别进行映射,得到对应的初始文件校验码,将所有的初始文件和初始文件校验码保存到初始文件清单中,并对该初始文件清单再次进行映射,得到第一校验码。
66.可选的,在得到第一校验码之后,还可以对初始文件清单进行加密,避免初始文件清单中的初始文件以及初始文件校验码在软件运行过程中发生篡改、损毁等情形。
67.本实施例将初始文件以及初始文件校验码保存到初始文件集合中,并对初始文件集合进行映射以生成第一校验码,不需要先对初始文件以及初始文件校验码进行拼接生成整体文件然后再进行映射,缩短了映射的过程,提高了第一校验码的生成速度。
68.在另一个实施例中,分别基于待检测文件生成多个待检测文件校验码,并基于待检测文件以及待检测文件校验码生成第二校验码包括:
69.步骤1:基于消息摘要算法对待检测文件进行处理,生成多个待检测文件校验码;
70.步骤2:基于消息摘要算法对待检测文件以及待检测文件校验码进行处理,生成第二校验码。
71.示例性地,获取待检测文件的二进制格式文件,其中该待检测文件是软件安装后重新获取的与初始文件对应的文件。基于消息摘要算法对该待检测文件的二进制文件进行处理,生成每个待检测文件的待检测文件校验码。获取所有待检测文件以及待检测文件校验码,生成一个整体的二进制格式文件,基于消息摘要算法对该整体的二进制格式文件进
行处理,生成第二校验码。
72.本实施例基于消息摘要算法分别生成待检测文件校验码和第二校验码,基于待检测文件校验码和第二校验码实现对待检测文件的检测,以判断待检测文件是否与初始文件相匹配,计算成本低,映射方式具有随机性和唯一性,映射过程不需要秘钥且生成的校验码无法被反向解密,提高了校验码的安全性。
73.在另一个实施例中,基于待检测文件以及待检测文件校验码生成第二校验码包括:
74.步骤1:分别将待检测文件以及待检测文件校验码保存到待检测文件集合;
75.步骤2:基于待检测文件集合生成第二校验码。
76.具体的,将所有的待检测文件以及对应的待检测文件校验码保存到待检测文件集合中,该待检测文件集合可以是一个文件夹,或者所有待检测文件以及待检测文件校验码组合而成的整体文件。基于该待检测文件集合再次进行映射,生成第二校验码。
77.在其中一个具体实施例中,待检测文件包括软件安装后重新获取的所有程序文件、配置文件、动态连接文件等。对上述待检测文件分别进行映射,得到对应的待检测文件校验码,将所有的待检测文件和待检测文件校验码保存到待检测文件清单中,并对该待检测文件清单再次进行映射,得到第二校验码。
78.本实施例将待检测文件以及待检测文件校验码保存到初始文件集合中,并对待检测文件集合进行映射以生成第二校验码,不需要先对待检测文件以及待检测文件校验码进行拼接生成整体文件然后再进行映射,缩短了映射的过程,提高了第二校验码的生成速度。
79.在另一个实施例中,分别判断初始文件校验码与待检测文件校验码是否均匹配之后还包括:
80.若不匹配,则判定待检测软件为不完整软件,并返回判断结果。
81.具体的,分别判断初始文件校验码与初始文件对应的待检测文件的待检测文件校验码是否匹配,若不匹配,则表明初始文件与待检测文件不相同,待检测文件可能出现篡改、丢失等情形。若匹配,则表明初始文件与待检测文件相同,此时再次进行二次校验,判断第一校验码与第二校验码是否匹配,若匹配,则判定待检测软件为完整软件,若不匹配,则判定待检测软件为不完整软件。若判定待检软件为完整软件,则继续执行后续操作,例如执行编译、下载、调制等指令;若判定待检测软件为不完整软件,则返回判断结果,告知相关人员进行后续处理。
82.在其中一个具体实施例中,若判定待检测软件为不完整软件,则对该待检测软件进行报错,告知相关人员哪些文件出现问题,即返回待检测文件中编码与初始文件不一致的文件。
83.可选的,在判断初始文件校验码与待检测文件校验码是否匹配之前,还包括对初始文件清单进行解密,获取初始文件以及初始文件校验码。
84.可选的,基于主动方式或者被动方式再次对待检测软件进行检测。具体的,手动方式为相关人员主动对软件的完整性进行检测,执行本实施例的方法步骤,例如在需要待检测软件运行某些功能时,先对待检测软件的完整性进行检测,以避免待检测软件出现问题导致程序崩溃等情形;被动检测方式可以设置为周期性的执行本实施例的方法步骤以对待检测软件进行检测,也可以设置为在需要执行编译、下载等功能或者每次打开软件时,自动
对待检测软件进行检测。
85.在另一个实施例中,判定待检测软件为不完整软件之后还包括:
86.基于初始文件对待检测文件进行更新。
87.示例性地,若待检测软件为不完整软件,则获取存在问题的待检测文件,即待检测文件校验码与初始文件校验码不一致的待检测文件,并将该待检测文件替换为相应的初始文件。具体的,删除存在问题的待检测文件,并将对应的初始文件保存到该存储位置。
88.可选的,本实施例还可以基于手动方式对待检测文件进行更新。具体的,在显示界面返回存在问题的待检测文件及其存储地址,相关人员可基于该待检测文件以及存储地址删除该待检测文件,替换为与该待检测文件对应的初始文件。
89.本实施例基于初始文件对待检测文件进行更新,在发现待检测软件为不完整软件后,及时对存在问题的待检测文件进行更新,以修复待检测软件的漏洞,避免恶意程序植入、资源篡改等情形,提高了软件的安全性和可靠性。
90.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
91.在本实施例中还提供了一种软件完整性的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
92.图3是本实施例的软件完整性的检测装置的结构框图,如图3所示,该装置包括:
93.第一获取模块,用于获取多个初始文件,分别基于初始文件生成多个初始文件校验码,并基于初始文件以及初始文件校验码生成第一校验码,初始文件包括待检测软件安装前的所有文件;
94.第一获取模块,还用于基于消息摘要算法对初始文件进行处理,生成多个初始文件校验码;
95.基于消息摘要算法对初始文件以及初始文件校验码进行处理,生成第一校验码;
96.第一获取模块,还用于分别将初始文件以及初始文件校验码保存到初始文件集合;
97.基于初始文件集合生成第一校验码;
98.第二获取模块,用于获取多个待检测文件,分别基于待检测文件生成多个待检测文件校验码,并基于待检测文件以及待检测文件校验码生成第二校验码,所检测文件为待检测软件安装后重新获取的与初始文件对应的文件;
99.第二获取模块,还用于基于消息摘要算法对待检测文件进行处理,生成多个待检测文件校验码;
100.基于消息摘要算法对待检测文件以及待检测文件校验码进行处理,生成第二校验码;
101.第二获取模块,还用于分别将待检测文件以及待检测文件校验码保存到待检测文件集合;
102.基于待检测文件集合生成第二校验码;
103.判断模块,用于分别判断初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断第一校验码与第二校验码是否匹配,若匹配,则判定待检测软件为完整软件;
104.软件完整性的检测装置,还包括不完整软件判定模块;
105.不完整软件判定模块,用于若不匹配,则判定待检测软件为不完整软件,并返回判断结果。
106.软件完整性的检测装置,还包括更新模块;
107.更新模块,用于基于初始文件对待检测文件进行更新。
108.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
109.在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
110.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
111.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
112.s1,获取多个初始文件,分别基于初始文件生成多个初始文件校验码,并基于初始文件以及初始文件校验码生成第一校验码,初始文件包括待检测软件安装前的所有文件;
113.s2,获取多个待检测文件,分别基于待检测文件生成多个待检测文件校验码,并基于待检测文件以及待检测文件校验码生成第二校验码,待检测文件为待检测软件安装后重新获取的与初始文件对应的文件;
114.s3,分别判断初始文件校验码与待检测文件校验码是否均匹配,若均匹配,则进一步判断第一校验码与第二校验码是否匹配,若匹配,则判定待检测软件为完整软件。
115.需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
116.此外,结合上述实施例中提供的软件完整性的检测方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种软件完整性的检测方法。
117.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
118.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0119]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同
的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0120]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜