发明内容
本申请实施例提供了一种处理计算机病毒的方法及装置,以解决现有杀毒引擎在查杀复合文件时,容易降低***安全性且浪费***资源的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种处理计算机病毒的方法,包括:
获取待查杀文件;
对所述待查杀文件中的复合文件进行解析,解析后的待查杀文件和所述待查杀文件中的非复合文件组成更新后的待查杀文件;
调用预先设置的多个杀毒引擎对所述更新后的待查杀文件进行扫描,获得查杀结果。
还包括:预先保存对每一种复合文件进行解析的解析方式;
所述对所述待查杀文件中的复合文件进行解析包括:
识别所述待查杀文件是否为复合文件;
对识别为复合文件的待查杀文件,调用与所述复合文件对应的解析方式对所述复合文件进行解析。
所述复合文件包括:普通压缩文件和可移植执行体PE压缩文件;
所述普通压缩文件包括:扩展名为rar和扩展名为zip的压缩文件;
所述PE压缩文件包括:自解压的压缩文件和UPS加壳的压缩文件。
对所述待查杀文件中的普通压缩文件进行解析包括:
读取所述待查杀文件中的文件扩展名;
当读取的文件扩展名与普通压缩文件的文件扩展名类型匹配时,确定所读取的文件扩展名对应的文件为普通压缩文件;
按照普通压缩文件的解压方式对确定的普通压缩文件进行解压缩。
对所述待查杀文件中的PE压缩文件进行解析包括:
读取所述待查杀文件中的资源信息;
当读取的资源信息与PE压缩文件的文件类型匹配时,确定所读取的资源信息对应的文件为PE压缩文件;
按照PE压缩文件的解压方式对确定的PE压缩文件进行解压缩。
所述预先设置的多个杀毒引擎包括至少一个第一杀毒引擎和至少一个第二杀毒引擎;
所述调用预先设置的多个杀毒引擎对所述更新后的待查杀文件进行扫描包括:
调用所述第一杀毒引擎,对所述更新后的待查杀文件进行扫描,获得第一扫描结果,所述第一扫描结果中包括所述更新后的待查杀文件中的确定文件;
调用所述第二杀毒引擎,对所述更新后的待查杀文件中除所述确定文件以外的其它文件进行扫描,获得第二扫描结果。
一种处理计算机病毒的装置,包括:
获取单元,用于获取待查杀文件;
解析单元,用于对所述待查杀文件中的复合文件进行解析,解析后的待查杀文件和所述待查杀文件中的非复合文件组成更新后的待查杀文件;
扫描单元,用于调用预先设置的多个杀毒引擎对所述更新后的待查杀文件进行扫描,获得查杀结果。
还包括:
保存单元,用于预先保存对每一种符合文件进行解析的解析方式;
所述解析单元包括:
文件识别子单元,用于识别所述待查杀文件是否为复合文件;
调用解析子单元,用于对识别为复合文件的待查杀文件,调用与所述复合文件对应的解析方式对所述复合文件进行解析。
所述解析单元包括:
普通压缩文件解析单元,用于对所述待查杀文件中的普通压缩文件进行解析,所述普通压缩文件包括扩展名为rar和扩展名为zip的压缩文件;
PE压缩文件解析单元,用于对所述待查杀文件中的PE压缩文件进行解析,所述PE压缩文件包括自解压的压缩文件和UPS加壳的压缩文件。
所述普通压缩文件解析单元包括:
扩展名读取子单元,用于读取所述待查杀文件中的文件扩展名;
普通压缩文件确定子单元,用于当读取的文件扩展名与普通压缩文件的文件扩展名类型匹配时,确定所读取的文件扩展名对应的文件为普通压缩文件;
普通文件解压缩子单元,用于按照普通压缩文件的解压方式对确定的普通压缩文件进行解压缩;
所述PE压缩文件解析单元包括:
资源信息读取子单元,用于读取所述待查杀文件中的资源信息;
PE压缩文件确定子单元,用于当读取的资源信息与PE压缩文件的文件类型匹配时,确定所读取的资源信息对应的文件为PE压缩文件;
PE文件解压缩子单元,用于按照PE压缩文件的解压方式对确定的PE压缩文件进行解压缩。
所述预先设置的多个杀毒引擎包括至少一个第一杀毒引擎和至少一个第二杀毒引擎,所述扫描单元包括:
第一调用扫描子单元,用于调用所述第一杀毒引擎,对所述更新后的待查杀文件进行扫描,获得第一扫描结果,所述第一扫描结果中包括所述更新后的待查杀文件中的确定文件;
第二调用扫描子单元,用于调用所述第二杀毒引擎,对所述更新后的待查杀文件中除所述确定文件以外的其它文件进行扫描,获得第二扫描结果。
由上述实施例可以看出,本申请实施例获取待查杀文件,对待查杀文件中的复合文件进行解析,解析后的待查杀文件和待查杀文件中的非复合文件组成更新后的待查杀文件,调用预先设置的多个杀毒引擎对更新后的待查杀文件进行扫描,获得查杀结果。应用本申请实施例对计算机病毒进行扫描时,由于预先对待查杀文件中的复合文件进行解析,即对加壳文件进行脱壳,再由杀毒引擎进行查杀,因此对于不具备脱壳能力的杀毒引擎也可以对文件进行查杀,提高***的安全性;当***中存在多个具有脱壳功能的杀毒引擎时,由于统一对待查杀文件中的复合文件进行解析,因此无需每个杀毒引擎都对复合文件进行解析,节约了***资源。
具体实施方式
本发明如下实施例提供了一种处理计算机病毒的方法及装置。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1,为本申请处理计算机病毒的方法的第一实施例流程图:
步骤101:获取待查杀文件。
步骤102:对待查杀文件中的复合文件进行解析,解析后的待查杀文件和待查杀文件中的非复合文件组成更新后的待查杀文件。
其中,复合文件包括普通压缩文件和PE(Portable Execute,可移植执行体)压缩文件;普通压缩文件可以具体包括:扩展名为rar和扩展名为zip的压缩文件;PE压缩文件可以具体包括自解压的压缩文件和UPS加壳的压缩文件。
对待查杀文件中的普通压缩文件进行解析时,读取待查杀文件中的文件扩展名,当读取的文件扩展名与普通压缩文件的文件扩展名类型匹配时,确定所读取的文件扩展名对应的文件为普通压缩文件,按照普通压缩文件的解压方式对确定的普通压缩文件进行解压缩;对待查杀文件中的PE压缩文件进行解析时,读取待查杀文件中的资源信息,当读取的资源信息与PE压缩文件的文件类型匹配时,确定所读取的资源信息对应的文件为PE压缩文件,按照PE压缩文件的解压方式对确定的PE压缩文件进行解压缩。
步骤103:调用预先设置的多个杀毒引擎对更新后的待查杀文件进行扫描,获得查杀结果。
上述实施例由于预先对待查杀文件中的复合文件进行解析,即对加壳文件进行脱壳,再由杀毒引擎进行查杀,因此对于不具备脱壳能力的杀毒引擎也可以对文件进行查杀,提高***的安全性;当***中存在多个具有脱壳功能的杀毒引擎时,由于统一对待查杀文件中的复合文件进行解析,因此无需每个杀毒引擎都对复合文件进行解析,节约了***资源。
参见图2,为本申请处理计算机病毒的方法的第二实施例流程图,该实施例以预先设置了第一杀毒引擎和第二杀毒引擎为例,示出了对待查杀文件统一解析后再杀毒的过程:
步骤201:预先保存对每一种复合文件进行解析的解析方式。
一些恶意病毒为了避免被杀毒引擎解析和扫描,通常事先被加壳,这些经过加壳后的文件称为复合文件。复合文件根据其类型的不同采用不同的解析方式进行解析,解析的过程就是脱壳的过程,解析的目的是为了获得未被加壳前的数据。
本申请实施例中,复合文件可以包括普通压缩文件和PE压缩文件;普通压缩文件可以具体包括:扩展名为rar和扩展名为zip的压缩文件;PE压缩文件可以具体包括自解压的压缩文件和UPS加壳的压缩文件,自解压的压缩文件指该文件的压缩包内包含解压缩文件,根据该解压缩文件可以对文件进行解压缩,UPS加壳的压缩文件指将程序指令进行压缩,并在文件头中加入解压缩信息,根据该解压信息可以对文件进行解压缩。
步骤202:获取待查杀文件。
步骤203:识别待查杀文件是否为复合文件。
根据步骤201中定义的复合文件可知,对于待查杀文件中的每一个文件,可以先识别其是否为普通压缩文件,如果不是,再识别其是否为PE压缩文件,如果不是,将该文件确定为非复合文件,即可以直接由杀毒引擎进行病毒扫描的文件。根据上述识别过程,可以识别出每个待查杀文件是普通压缩文件、PE压缩文件、或非复合文件。
步骤204:对识别为复合文件的待查杀文件,调用与该复合文件对应的解析方式对该复合文件进行解析,解析后的待查杀文件和待查杀文件中的非复合文件组成更新后的待查杀文件。
其中,对待查杀文件中的普通压缩文件进行解析时,读取待查杀文件中的文件扩展名,当读取的文件扩展名与普通压缩文件的文件扩展名类型匹配时,确定所读取的文件扩展名对应的文件为普通压缩文件,按照普通压缩文件的解压方式对确定的普通压缩文件进行解压缩;对待查杀文件中的PE压缩文件进行解析时,读取待查杀文件中的资源信息,当读取的资源信息与PE压缩文件的文件类型匹配时,确定所读取的资源信息对应的文件为PE压缩文件,按照PE压缩文件的解压方式对确定的PE压缩文件进行解压缩。
步骤205:调用第一杀毒引擎,对更新后的待查杀文件进行扫描,获得第一扫描结果,该第一扫描结果中包括更新后的待查杀文件中的确定文件。
本申请实施例中,第一杀毒引擎和第二杀毒引擎可以具体为针对不同类型文件进行查杀的文件,第一杀毒引擎和第二杀毒引擎之间可以采用并行查杀的方式,即当第一杀毒引擎在查杀过程中,可以将已查杀过的文件中的未确定文件输入到第二杀毒引擎中进行查杀,而不必等到第一杀毒引擎查杀完所有待查杀文件,再由第二杀毒引擎进行查杀。更进一步,如果第一杀毒引擎至少有两个,则至少两个第一杀毒引擎之间的查杀过程也采用前述并行查杀的方式。
其中,第一杀毒引擎可以包括:用于查杀PE类型文件的云查杀引擎,和/或QVM(Qihoo Virtual Machine,人工智能引擎)引擎。
步骤206:调用第二杀毒引擎,对更新后的待查杀文件中除确定文件以外的其它文件进行扫描,获得第二扫描结果。
第二杀毒引擎主要指对除经过第一杀毒引擎查杀后的确定文件以外的其它文件进行扫描的杀毒引擎,需要说明的是,该第二杀毒引擎可以具有对所有类型文件进行查杀的能力,当本实施例通采用并行查杀的方式时,可以减少每一种杀毒引擎的查杀数量,从而提高查杀速度,以便有效利用***资源。本实施例中第二杀毒引擎可以包括至少一个杀毒引擎,例如,该第二杀毒引擎可以为Bit Defender杀毒引擎,和/或小红伞杀毒引擎,和/或其它现有已存在的杀毒引擎等。
参见图3,为本申请处理计算机病毒的方法的第三实施例流程图,该实施例以复合文件为普通压缩和PE压缩文件为例,示出了对待查杀文件进行扫描的过程:
步骤301:预先保存对每一种复合文件进行解析的解析方式。
一些恶意病毒为了避免被杀毒引擎解析和扫描,通常事先被加壳,这些经过加壳后的文件称为复合文件。复合文件根据其类型的不同采用不同的解析方式进行解析,解析的过程就是脱壳的过程,解析的目的是为了获得未被加壳前的数据。
本申请实施例中,复合文件可以包括普通压缩文件和PE压缩文件;普通压缩文件可以具体包括:扩展名为rar和扩展名为zip的压缩文件;PE压缩文件可以具体包括自解压的压缩文件和UPS加壳的压缩文件,自解压的压缩文件指该文件的压缩包内包含解压缩文件,根据该解压缩文件可以对文件进行解压缩,UPS加壳的压缩文件指将程序指令进行压缩,并在文件头中加入解压缩信息,根据该解压信息可以对文件进行解压缩。
步骤302:顺序获取待查杀文件中的一个待查杀文件。
步骤303:读取该待查杀文件中的文件扩展名。
步骤304:判断读取的文件扩展名与普通压缩文件的文件扩展名类型是否匹配,若是,则执行步骤305;否则,执行步骤306。
本实施例中普通压缩文件的文件扩展名类型包括扩展名为rar或zip的文件,因此读取待查杀文件的文件扩展名后,判断该文件扩展名是否为rar或zip,如果是,则说明待查杀文件为普通压缩文件,如果不是,则进入步骤306进行进一步判断。
步骤305:确定所读取的文件扩展名对应的文件为普通压缩文件,按照普通压缩文件的解压方式对确定的普通压缩文件进行解压缩,执行步骤309。
步骤306:读取该待查杀文件中的资源信息。
在判断完待查杀文件非普通压缩文件后,进一步判断其是否为PE压缩文件,此时读取该待查杀文件中的资源信息,如果读取不到资源信息,则该待查杀文件为非复合文件,如果读取到资源文件,可以进入步骤307进行进一步判断。
步骤307:判断读取的资源信息与PE压缩文件的文件类型是否匹配,若是,则执行步骤308;否则,执行步骤309。
由于PE压缩文件可以具体包括自解压的压缩文件和UPS加壳的压缩文件,其中,自解压的压缩文件指该文件的压缩包内包含解压缩文件,根据该解压缩文件可以对文件进行解压缩,因此判断读取到的资源信息是否为解压缩文件;UPS加壳的压缩文件指将程序指令进行压缩,并在文件头中加入解压缩信息,根据该解压信息可以对文件进行解压缩,因此判断读取到的资源信息是否为头文件中的解压缩信息。
步骤308:确定所读取的资源信息对应的文件为PE压缩文件,按照PE压缩文件的解压方式对确定的PE压缩文件进行解压缩,执行步骤309。
步骤309:调用预先设置的多个杀毒引擎对解析后的待查杀文件,以及非复合文件进行扫描,获得查杀结果。
本实施中调用多个杀毒引擎对解析后的待查杀文件以及非复合文件进行扫描的过程与前述第二实施例一致,在此不再赘述。
步骤310:判断是否查杀完所有文件,若是,则结束流程;否则,返回步骤302。
与本申请处理计算机病毒的方法的实施例相对应,本申请还提供了处理计算机病毒的装置的实施例。
参见图4,为本申请处理计算机病毒的装置的第一实施例框图:
该装置包括:获取单元410、解析单元420和扫描单元430。
其中,获取单元410,用于获取待查杀文件;
解析单元420,用于对所述待查杀文件中的复合文件进行解析,解析后的待查杀文件和所述待查杀文件中的非复合文件组成更新后的待查杀文件;
扫描单元430,用于调用预先设置的多个杀毒引擎对所述更新后的待查杀文件进行扫描,获得查杀结果。
参见图5,为本申请处理计算机病毒的装置的第二实施例框图:
该装置包括:保存单元510、获取单元520、解析单元530和扫描单元540。
其中,保存单元510,用于预先保存对每一种符合文件进行解析的解析方式;
获取单元520,用于获取待查杀文件;
解析单元530,用于对所述待查杀文件中的复合文件进行解析,解析后的待查杀文件和所述待查杀文件中的非复合文件组成更新后的待查杀文件;
扫描单元540,用于调用预先设置的多个杀毒引擎对所述更新后的待查杀文件进行扫描,获得查杀结果。
其中,解析单元530可以包括(图5中未示出):
文件识别子单元,用于识别所述待查杀文件是否为复合文件;
调用解析子单元,用于对识别为复合文件的待查杀文件,调用与所述复合文件对应的解析方式对所述复合文件进行解析。
具体的,解析单元530可以包括(图5中未示出):普通压缩文件解析单元,用于对所述待查杀文件中的普通压缩文件进行解析,所述普通压缩文件包括扩展名为rar和扩展名为zip的压缩文件;PE压缩文件解析单元,用于对所述待查杀文件中的PE压缩文件进行解析,所述PE压缩文件包括自解压的压缩文件和UPS加壳的压缩文件。
其中,所述普通压缩文件解析单元可以包括:扩展名读取子单元,用于读取所述待查杀文件中的文件扩展名;普通压缩文件确定子单元,用于当读取的文件扩展名与普通压缩文件的文件扩展名类型匹配时,确定所读取的文件扩展名对应的文件为普通压缩文件;普通文件解压缩子单元,用于按照普通压缩文件的解压方式对确定的普通压缩文件进行解压缩。
所述PE压缩文件解析单元包括:资源信息读取子单元,用于读取所述待查杀文件中的资源信息;PE压缩文件确定子单元,用于当读取的资源信息与PE压缩文件的文件类型匹配时,确定所读取的资源信息对应的文件为PE压缩文件;PE文件解压缩子单元,用于按照PE压缩文件的解压方式对确定的PE压缩文件进行解压缩。
其中,预先设置的多个杀毒引擎包括至少一个第一杀毒引擎和至少一个第二杀毒引擎,该扫描单元540可以包括(图5中未示出):第一调用扫描子单元,用于调用所述第一杀毒引擎,对所述更新后的待查杀文件进行扫描,获得第一扫描结果,所述第一扫描结果中包括所述更新后的待查杀文件中的确定文件;第二调用扫描子单元,用于调用所述第二杀毒引擎,对所述更新后的待查杀文件中除所述确定文件以外的其它文件进行扫描,获得第二扫描结果。
通过对以上实施方式的描述可知,本申请实施例获取待查杀文件,对待查杀文件中的复合文件进行解析,解析后的待查杀文件和待查杀文件中的非复合文件组成更新后的待查杀文件,调用预先设置的多个杀毒引擎对更新后的待查杀文件进行扫描,获得查杀结果。应用本申请实施例对计算机病毒进行扫描时,由于预先对待查杀文件中的复合文件进行解析,即对加壳文件进行脱壳,再由杀毒引擎进行查杀,因此对于不具备脱壳能力的杀毒引擎也可以对文件进行查杀,提高***的安全性;当***中存在多个具有脱壳功能的杀毒引擎时,由于统一对待查杀文件中的复合文件进行解析,因此无需每个杀毒引擎都对复合文件进行解析,节约了***资源。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。