病毒查杀方法、客户端、服务器以及病毒查杀系统的制作方法

文档序号:6621247阅读:174来源:国知局
病毒查杀方法、客户端、服务器以及病毒查杀系统的制作方法【专利摘要】本发明提供了一种病毒查杀方法、客户端、服务器以及病毒查杀系统。其中病毒查杀方法包括:病毒查杀客户端接收由病毒查杀服务器下发的病毒查杀脚本,病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;使用病毒查杀客户端中预置的编译器将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码;由病毒查杀客户端调用可执行代码对待查文件进行病毒查杀。利用该病毒查杀方法下发统一的病毒查杀脚本,由病毒查杀客户端中预置的编译器编译成对应的可执行代码,进行相应的病毒查杀流程,提高了病毒查杀的效率,减轻了病毒查杀服务器的工作压力。【专利说明】病毒查杀方法、客户端、服务器以及病毒查杀系统【
技术领域
】[0001]本发明涉及计算机安全领域,特别是涉及一种病毒查杀方法、客户端、服务器以及病毒查杀系统。【
背景技术
】[0002]随着互联网的发展,计算机病毒、蠕虫、木马程序等计算机恶意程序流行的周期也越来越短,大量的病毒和各类恶意文件严重危害用户的安全。随着病毒的不断更新和变化,病毒查杀客户端也需要及时更新其病毒查杀引擎和病毒特征库。[0003]现有的病毒查杀方法中,在发现新的病毒时,需要病毒查杀服务方提供方针对新的病毒,提取出病毒特征,并将该病毒特征添加至病毒库中,下发给病毒查杀客户端。如果该病毒特征的匹配无法由当前病毒引擎执行时,就需要增加病毒引擎的算法。此时不仅仅需要更新病毒库,还需更新查杀引擎。这给用户和查杀病毒软件提供商都提供了很大的麻烦,并且浪费了大量的时间和精力。[0004]而且由于用户所使用的硬件平台不同,例如包括英特尔32位、64位平台,ARM架构平台,精简指令集架构平台,病毒查杀服务人员在完成病毒查杀逻辑的设计后,还需要将查杀算法对应查杀代码编译成不同平台的对应的可执行代码,下发给目标客户端,以便目标客户端解释执行,增加了工作量。而且病毒查杀客户端对查杀代码解释执行,查杀速度慢,也影响了病毒查杀效率。【
发明内容】[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的病毒查杀客户端和病毒查杀服务器以及相应的病毒查杀方法。[0006]本发明一个进一步的目的是提高病毒查杀的效率。[0007]本发明另一个进一步的目的是要减小病毒查杀服务器的压力。[0008]依据本发明的一个方面,提供了一种病毒查杀方法。该病毒查杀方法包括:病毒查杀客户端接收由病毒查杀服务器下发的病毒查杀脚本,病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;使用病毒查杀客户端中预置的编译器将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码;由病毒查杀客户端调用可执行代码对待查文件进行病毒查杀。[0009]可选地,使用病毒查杀客户端中预置的编译器将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码包括:由病毒查杀客户端中预置的编译器将病毒查杀脚本编译成目标文件,并将目标文件链接成与病毒查杀客户端所在硬件平台匹配的可执行代码。[0010]可选地,由病毒查杀客户端调用可执行代码对待查文件进行病毒查杀包括:获取待查文件;识别待查文件的文件格式;按照文件格式解析待查文件的数据结构;由病毒查杀客户端调用可执行代码对数据结构进行病毒查杀。[0011]可选地,由病毒查杀客户端调用可执行代码对数据结构对待查文件进行病毒查杀包括:由病毒查杀客户端按照可执行代码的运算逻辑提取数据结构中特定位置的数据特征;判断数据特征是否符合可执行代码中的病毒判定条件;若是,确定待查文件包含病毒。[0012]可选地,在确定待查文件包含病毒之后还包括:输出对病毒进行处理的操作选项,并按照对操作选项的操作对待查文件进行处理。[0013]可选地,获取待查文件包括:接收由用户对文件类型或文件存储目录的选择操作;提取属于文件类型或者文件存储目录下的文件。[0014]可选地,识别待查文件的文件格式包括:提取待查文件的后缀文件名;根据后缀文件名确定待查文件的文件格式。[0015]可选地,在使用病毒查杀客户端中预置的编译器将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码之后还包括:将可执行代码保存至本地病毒库中。[0016]根据本发明的另一个方面,还提供了一种病毒查杀客户端。该病毒查杀客户端包括:接收器,配置为接收由病毒查杀服务器下发的病毒查杀脚本,病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;编译器,配置为将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码;查杀器,配置为调用可执行代码对待查文件进行病毒查杀。[0017]可选地,编译器包括:编译模块,配置为将病毒查杀脚本编译成目标文件;链接模块,配置为将目标文件链接成与病毒查杀客户端所在硬件平台匹配的可执行代码。[0018]可选地,查杀器包括:获取模块,配置为获取待查文件;识别模块,配置为识别待查文件的文件格式;解析模块,配置为按照文件格式解析待查文件的数据结构;执行模块,配置为调用可执行代码对数据结构进行病毒查杀。[0019]可选地,执行模块还配置为:按照可执行代码的运算逻辑提取数据结构中特定位置的数据特征;判断数据特征是否符合可执行代码中的病毒判定条件;若是,确定待查文件包含病毒。[0020]可选地,查杀器还包括:病毒处理模块,配置为输出对病毒进行处理的操作选项,并按照对操作选项的操作对待查文件进行处理。[0021]可选地,获取模块还配置为:接收由用户对文件类型或文件存储目录的选择操作;提取属于文件类型或者文件存储目录下的文件。[0022]可选地,识别模块还配置为;提取待查文件的后缀文件名;根据后缀文件名确定待查文件的文件格式。[0023]可选地,上述病毒查杀客户端还包括:存储器,配置为将可执行代码保存至本地病毒库中。[0024]根据本发明的另一个方面,还提供了一种病毒查杀方法。该病毒查杀方法包括:根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将指令的集合编写为病毒查杀脚本;向病毒查杀客户端下发病毒查杀脚本,以供病毒查杀客户端将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码,并调用可执行代码进行病毒查杀。[0025]可选地,在将指令的集合编写为病毒查杀脚本之后还包括:对病毒查杀脚本进行调试验证。[0026]可选地,在根据病毒特征生成对待查文件进行病毒特征匹配的指令之前还包括:获取病毒文件样本;从病毒文件样本中提取出病毒特征。[0027]根据本发明的另一个方面,还提供了一种病毒查杀服务器。该病毒查杀服务器包括:脚本生成模块,配置为根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将指令的集合编写为病毒查杀脚本;脚本下发模块,配置为向病毒查杀客户端下发病毒查杀脚本,以供病毒查杀客户端将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码,并调用可执行代码进行病毒查杀。[0028]可选地,本发明提供的病毒查杀服务器还包括:调试模块,配置为对病毒查杀脚本进行调试验证。[0029]可选地,本发明提供的病毒查杀服务器还包括:病毒特征提取模块,配置为获取病毒文件样本,并从病毒文件样本中提取出病毒特征。[0030]根据本发明的另一个方面,还提供了一种病毒查杀系统。该病毒查杀系统包括:以上介绍的任一种病毒查杀客户端;以及以上介绍的任一种病毒查杀服务器。[0031]本发明的病毒查杀方法下发统一的病毒查杀脚本,由病毒查杀客户端中预置的编译器编译成对应的可执行代码,相比于在病毒查杀服务器中针对不同平台下发相应的病毒特征库和病毒查杀引擎,下发的数据量小,大大减轻了病毒查杀服务器的工作压力,处理效率更高。[0032]进一步地,本发明的病毒查杀客户端使用编译后的代码进行病毒查杀,相比于现有的代码解释执行方式,大大提高了病毒查杀效率。[0033]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。[0034]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。【专利附图】【附图说明】[0035]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:[0036]图1是根据本发明一个实施例的病毒查杀系统的示意图;[0037]图2是根据本发明一个实施例的病毒查杀客户端的示意图;[0038]图3是根据本发明一个实施例的病毒查杀服务器的示意图;[0039]图4是根据本发明一个实施例的一种病毒查杀方法的示意图;以及[0040]图5是根据本发明一个实施例的另一种病毒查杀方法的示意图。【具体实施方式】[0041]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。[0042]图1是根据本发明一个实施例的病毒查杀系统的示意图,该病毒查杀系统包括:至少一个病毒查杀客户端100与之通过网络数据连接的病毒查杀服务器200。病毒查杀服务器200将根据新发现的病毒特征编写的病毒查杀脚本下发给病毒查杀客户端100,由病毒查杀客户端100中预置的编译器编译成可执行代码用于病毒查杀。[0043]与现有技术中的病毒查杀系统不同,病毒查杀服务器200下发给不同平台的病毒查杀客户端100的脚本是相同的,即通用的代码(例如符合C或C++语言规则的代码)编写的病毒查杀脚本,由病毒查杀客户端100编译成匹配的可执行代码进行病毒查杀,无需病毒查杀服务器200将针对同一病毒的查杀逻辑相同的代码编译成不同的版本,减少了病毒查杀服务器200的压力,同时提高了对病毒的响应速度,并且由于病毒查杀客户端100对杀毒脚本进行了编译,相比于解释执行,速度更快,查杀效率更高。[0044]图2和图3分别是根据本发明一个实施例的病毒查杀客户端100和病毒查杀服务器200的示意图;其中,本发明实施例的病毒查杀客户端100—般性地可以包括:接收器110、编译器120、查杀器130,本发明实施例的病毒查杀服务器200—般性地可以包括:脚本生成模块210、脚本下发模块220,在一些优选的实施例中,本发明实施例的病毒查杀客户端100还可以增加设置有存储器140,编译器110的一种可选结构为包括:编译模块122和链接模块124,查杀器130的一种可选结构为包括:获取模块131、识别模块132、解析模块133、执行模块134、病毒处理模块135。本发明实施例的病毒查杀服务器200还可以增加设置有调试模块230和病毒特征提取模块240。以上病毒查杀客户端100和病毒查杀服务器200中的部件可以根据实施例需要具备的功能和具体使用环境灵活进行配置,在一些可选实施例中可以不必具备以上所有的部件。[0045]在本实施例的病毒查杀客户端100中,接收器110可以接收由病毒查杀服务器下发的病毒查杀脚本,该病毒查杀脚本包括对待查文件进行病毒特征匹配的指令,这些指令可以使用多个硬件平台通用的代码根据病毒特征生成,例如该病毒查杀脚本可以根据需要查杀的病毒的特征按照通用的语言规则(例如C和C++等)进行编写,这类病毒查杀脚本可以灵活地编译成不同平台可以执行的可执行代码。[0046]编译器120可以将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码。编译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。对于不同的硬件平台或者操作系统,所能执行的目标代码是不同的,常见的处理器架构包括x86架构(又可细分为16位、32位、64位),精简指令集架构(RISC),按照操作系统进行区分,又可以分为Windows、Linux、安卓,而且同一系列的操作系统,不同版本的操作系统的可执行代码也是有区别的。现有技术中面对大量不同种类的系统和平台,需要分别下发不同的特征库或查杀程序,浪费了大量的资源。在本实施例的病毒查杀客户端100中,编译器120设置于客户端侧,只需要将统一的脚本编译成符合自身需要的目标代码即可,大大减小了服务器侧的压力。[0047]编译器120具体可以包括:编译模块122和链接模块124,其中编译模块病毒查杀脚本编译成目标文件;链接模块124将目标文件链接成与病毒查杀客户端所在硬件平台匹配的可执行代码。一般而言,源代码需要经过编译(compiler)处理为目标代码(objectcode),然后还需要经过链接(linker)转换为可执行程序(executables),才能被硬件设备执行。也就是高级语言编写成的脚本经过编译模块122的处理,编译成通用中间语言(MSIL/CIL)的目标字节码(ByteCode),链接模块124将目标代码外加库链接为一个可执行文件,用于病毒查杀。链接模块124需要解析未定义的符号引用,将目标文件中的占位符替换为符号的地址。[0048]查杀器130调用可执行代码对待查文件进行病毒查杀。其中获取模块131配置为获取待查文件,例如接收由用户对文件类型或文件存储目录的选择操作;提取属于文件类型或者文件存储目录下的文件;识别模块132识别待查文件的文件格式,例如提取待查文件的后缀文件名;根据后缀文件名确定待查文件的文件格式;解析模块133配置为按照文件格式解析待查文件的数据结构;执行模块134配置为调用可执行代码对数据结构进行病毒查杀。[0049]执行模块134的一种查杀流程为:按照可执行代码的运算逻辑提取数据结构中特定位置的数据特征;判断数据特征是否符合可执行代码中的病毒判定条件;若是,确定待查文件包含病毒。例如在解析模块131解析出的数据特征指定位置找出偏移量,然后经过偏移计算得出新位置的数据特征,将该特征与病毒样本特征进行比对。当出现一个或多个特征比对匹配就可以认为该文件存在查杀的病毒。[0050]查杀器130的查杀对象可以为可移植的执行体(PortableExecute,简称PE文件),也可以为非PE文件。针对PE文件,通过解析模块131得到文件指令序列、导入函数名、导出函数名和可见字符串等数据结构特征,利用以上指令序列、导入函数名、导出函数名和可见字符串中的一个或多个进行匹配。对于非PE文件可以在执行环境中设置不同文件格式的文件对象,其中可以设置的文件格式包括但不限于Doc、xml、ppt、pdf、swf、Apk>Bat、in1、vbs、js。针对不同的文件格式,可以利用对应的执行环境进行解析和特征提取匹配,完成病毒的查杀。[0051]在执行模块134调用可执行代码对数据结构进行病毒查杀,确认存在文件出现安全问题后,病毒处理模块135输出对病毒进行处理的操作选项,并按照对操作选项的操作对待查文件进行处理。操作选项可以包括:删除、隔离、忽略等,由用户进行选择,或者在用户未进行选择时,进行默认的操作。[0052]存储器140还可以将可执行代码保存至本地病毒库中,用于后续的病毒查杀操作。[0053]在本实施例的病毒查杀服务器200中,脚本生成模块210根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将指令的集合编写为病毒查杀脚本,也就是使用多个硬件平台通用的代码指令根据病毒特征生成病毒查杀脚本。病毒查杀服务器200在拦截到或者接收到上传新的病毒样本后,经过分析提取出病毒特征,由脚本生成模块生成病毒查杀脚本。脚本下发模块220为向病毒查杀客户端100下发病毒查杀脚本,以供病毒查杀客户端100将病毒查杀脚本编译成与病毒查杀客户端100所在硬件平台匹配的可执行代码,并调用可执行代码对待查文件进行病毒查杀。病毒查杀服务器200在完成病毒查杀脚本就可以直接下发不同平台的病毒查杀客户端100,相比于现有技术,针对新样本的反应速度更快、处理效率更高。[0054]在脚本生成模块210生成病毒查杀脚本后,还可以利用调试模块230对病毒查杀脚本进行调试验证,已确认病毒查杀脚本的有效性,设置不同的运行环境编译病毒查杀脚本并执行,确认其对测试样本的查杀有效性。[0055]脚本生成模块210使用的病毒特征可以由病毒特征提取模块240进行提取,具体地,病毒特征提取模块240可以获取病毒文件样本,并从病毒文件样本中分析提取出病毒特征。病毒特征提取模块240获取病毒文件样本的方法可以使用多种方式,例如拦截网络传输的文件、接收病毒查杀客户端100上传的可疑文件,本实施例对此不做限制。[0056]本发明实施例的病毒查杀系统,相比于现有方式,病毒查杀服务器200将相同的病毒查杀脚本下发给不同平台的病毒查杀客户端100,由病毒查杀客户端100编译执行,提高了病毒查杀服务器200对新发现病毒的反应速度,提高了查杀效率。[0057]本发明实施例还提供了病毒查杀方法,可以分别由以上介绍的任一种病毒查杀客户端100和病毒查杀服务器200执行。以提高病毒查杀效率,图4和图5分别是根据本发明一个实施例的两种病毒查杀方法的示意图,其中在病毒查杀服务器侧,病毒查杀方法包括:[0058]步骤S402,根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将指令的集合编写为病毒查杀脚本;[0059]步骤S404,向病毒查杀客户端下发病毒查杀脚本。下发的病毒查杀脚本可供病毒查杀客户端将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码,并调用可执行代码对待查文件进行病毒查杀。[0060]在步骤S402之前还可以通过多种方式获取病毒文件样本;从病毒文件样本中提取出病毒特征,作为生成病毒查杀脚本的基础。获取病毒文件样本的方法可以使用多种方式,例如拦截网络传输的文件、接收病毒查杀客户端100上传的可疑文件等。[0061]另外在步骤S402完成病毒查杀脚本后,还可以对病毒查杀脚本进行调试验证。调试验证可以对病毒查杀脚本进行完善,保证其可靠性和有效性,例如置不同的运行环境编译病毒查杀脚本并执行,确认其对测试样本的查杀有效性,并在测试效果出现问题时及时进行修改。[0062]以下是毒查杀服务器在发现新的病毒样本后所进行的一种可选流程:接收上传的可疑文件,病毒查杀工程师确认可疑文件中包含新的病毒特征,并需要对已有的病毒特征库进行修改,此时,根据该新病毒的特征指定相应的查杀算法,按照查杀算法生成对待查文件进行病毒特征匹配的指令,然后将这些指令进行组合编写成病毒查杀脚本,从而该病毒查杀脚本可以执行对该病毒特征查杀算法。在生成病毒查杀脚本的过程可以进行多次的调试验证,直至确认该杀毒脚本可准确地对该病毒进行查杀,查杀效果达到要求。然后将该杀毒脚本下发给各种病毒查杀客户端。[0063]其中在客户端侧,病毒查杀方法包括:[0064]步骤S502,病毒查杀客户端接收由病毒查杀服务器下发的病毒查杀脚本;[0065]步骤S504,使用病毒查杀客户端中预置的编译器将病毒查杀脚本编译成与病毒查杀客户端所在硬件平台匹配的可执行代码;[0066]步骤S506,由病毒查杀客户端调用可执行代码对待查文件进行病毒查杀。[0067]以上病毒查杀脚本包括对待查文件进行病毒特征匹配的指令,例如可以由病毒查杀服务器使用多个硬件平台通用的指令代码根据病毒特征生成。例如该病毒查杀脚本可以根据需要查杀的病毒的特征按照通用的语言规则(例如C和C++等)进行编写,这类病毒查杀脚本可以灵活地编译成不同平台可以执行的可执行代码。例如脚本中可以利用算术运算、逻辑判断、跳转语句、循环语句、比较语句等基本的指令集完成对病毒特征的提取和比对。[0068]步骤S504的一种的编译流程可以为:由病毒查杀客户端中预置的编译器将病毒查杀脚本编译成目标文件,并将目标文件链接成与病毒查杀客户端所在硬件平台匹配的可执行代码。病毒查杀脚本的代码需要经过编译(compiler)处理为目标代码(objectcode),经过链接(linker)转换为可执行程序(executables)后被执行查杀用户指定的文件。在编译过程中还可以对脚本进行检查,对于脚本中出现的语法问题及时上报提高可靠性。[0069]步骤S506的一种查杀流程包括:获取待查文件;识别待查文件的文件格式;按照文件格式解析待查文件的数据结构;由病毒查杀客户端调用可执行代码对数据结构进行病毒查杀。其中,待查文件可以为用户指定的文件类型或指定地址下的文件,例如接收由用户对文件类型或文件存储目录的选择操作;提取属于文件类型或者文件存储目录下的文件。识别文件的文件格式可以通过文件的后缀名确定,例如提取待查文件的后缀文件名;根据后缀文件名确定待查文件的文件格式。[0070]由病毒查杀客户端调用可执行代码对数据结构进行病毒查杀具体可以为:由病毒查杀客户端按照可执行代码的运算逻辑提取数据结构中特定位置的数据特征;判断数据特征是否符合可执行代码中的病毒判定条件;若是,确定待查文件包含病毒。在确定待查文件包含病毒之后还可以输出对病毒进行处理的操作选项,并按照对操作选项的操作对待查文件进行处理。比如根据计算机病毒中的关键字、特征程序段内容、病毒特征及传染方式、文件长度的变化,在特征分类的基础上进行检测工作,或是对某个文件或数据段进行检验和计算并保存其结果而后根据保存的结果对该文件或数据段进行检验是否存在病毒特征等。[0071]查杀对象可以为可移植的执行体(PortableExecute,简称PE文件),也可以为非PE文件。针对PE文件,可以在解析后得到文件指令序列、导入函数名、导出函数名和可见字符串等数据结构特征,利用以上指令序列、导入函数名、导出函数名和可见字符串中的一个或多个进行匹配。对于非PE文件可以在执行环境中设置针对不同文件格式的文件对象,其中可以设置的文件格式包括但不限于Doc、xml、ppt、pdf、swf、Apk>Bat、in1、vbs、js。针对不同的文件格式,可以利用对应的执行环境进行解析和特征提取匹配,完成病毒的查杀。[0072]在确认存在文件出现安全问题后,输出对病毒进行处理的操作选项可以包括:删除、隔离、忽略等,以上选项由用户进行选择,或者在用户未进行选择时,进行默认的操作。[0073]在完成查杀后,还可以将病毒查杀脚本编译后的可执行代码保存至本地病毒库中,用于病毒查杀引擎在后续启动初始化时直接载入调用。[0074]步骤S506查杀流程可以利用有病毒查杀脚本的可执行程序调用应用程序接口(Applicat1nProgramInterface,简称API)来完成,比如调用文件操作API函数、缓冲区解码API函数,以及针对文件格式的专用API函数如:MZ文件处API函数,PE文件处理API函数、OLE文件处理API函数、引导区处理API函数等等。通过调用该些文件操作API函数,进行如下的文件操作,如创建、删除、复制、查找、调用、刷新、读取等。[0075]利用API进行文件操作、内存操作等。例如进行如下的文件操作,如创建、删除、复制、查找、调用、刷新、读取等。[0076]本发明的病毒查杀方法下发病毒查杀脚本由病毒查杀客户端编译执行,病毒查杀脚本与硬件及操作系统平台无关,减少了大量不同平台的调试过程,减少了病毒处理的时间,提闻了效率。[0077]病毒查杀客户端中预置的编译器将病毒查杀脚本编译成对应的可执行代码,相比于现有技术,下发的数据量小,病毒查杀效率高。[0078]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。[0079]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。[0080]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。[0081]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。[0082]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的病毒查杀客户端和病毒查杀服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。[0083]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。[0084]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。[0085]本发明实施例提供了Al.—种病毒查杀方法,包括:[0086]病毒查杀客户端接收由病毒查杀服务器下发的病毒查杀脚本,所述病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;[0087]使用病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码;[0088]由所述病毒查杀客户端调用所述可执行代码对所述待查文件进行病毒查杀。[0089]A2.根据Al所述的方法,其中,使用病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码包括:[0090]由所述病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成目标文件,并将所述目标文件链接成与所述病毒查杀客户端所在硬件平台匹配的可执行代码。[0091]A3.根据Al所述的方法,其中,由所述病毒查杀客户端调用所述可执行代码对所述待查文件进行病毒查杀包括:[0092]获取所述待查文件;[0093]识别所述待查文件的文件格式;[0094]按照所述文件格式解析所述待查文件的数据结构;[0095]由所述病毒查杀客户端调用所述可执行代码对所述数据结构进行病毒查杀。[0096]A4.根据A3所述的方法,其中,由所述病毒查杀客户端调用所述可执行代码对所述数据结构进行病毒查杀包括:[0097]由所述病毒查杀客户端按照所述可执行代码的运算逻辑提取所述数据结构中特定位置的数据特征;[0098]判断所述数据特征是否符合所述可执行代码中的病毒判定条件;[0099]若是,确定所述待查文件包含病毒。[0100]A5.根据A4所述的方法,其中,在确定所述待查文件包含病毒之后还包括:[0101]输出对病毒进行处理的操作选项,并按照对所述操作选项的操作对所述待查文件进行处理。[0102]A6.根据A3至A5中任一项所述的方法,其中,获取所述待查文件包括:[0103]接收由用户对文件类型或文件存储目录的选择操作;[0104]提取属于所述文件类型或者所述文件存储目录下的文件。[0105]A7.根据A3至A6中任一项所述的方法,其中,识别所述待查文件的文件格式包括:[0106]提取所述待查文件的后缀文件名;[0107]根据所述后缀文件名确定所述待查文件的文件格式。[0108]AS.根据Al至A7中任一项所述的方法,其中,在使用病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码之后还包括:[0109]将所述可执行代码保存至本地病毒库中。[0110]本发明实施例还提供了B9.—种病毒查杀客户端,包括:[0111]接收器,配置为接收由病毒查杀服务器下发的病毒查杀脚本,所述病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;[0112]编译器,配置为将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码;[0113]查杀器,配置为调用所述可执行代码对所述待查文件进行病毒查杀。[0114]B10.根据B9所述的客户端,其中,所述编译器包括:[0115]编译模块,配置为将所述病毒查杀脚本编译成目标文件;[0116]链接模块,配置为将所述目标文件链接成与所述病毒查杀客户端所在硬件平台匹配的可执行代码。[0117]Bll.根据B9所述的客户端,其中,所述查杀器包括:[0118]获取模块,配置为获取所述待查文件;[0119]识别模块,配置为识别所述待查文件的文件格式;[0120]解析模块,配置为按照所述文件格式解析所述待查文件的数据结构;[0121]执行模块,配置为调用所述可执行代码对所述数据结构进行病毒查杀。[0122]B12.根据Bll所述的客户端,其中,所述执行模块还配置为:[0123]按照所述可执行代码的运算逻辑提取所述数据结构中特定位置的数据特征;[0124]判断所述数据特征是否符合所述可执行代码中的病毒判定条件;[0125]若是,确定所述待查文件包含病毒。[0126]B13.根据B12所述的客户端,其中,查杀器还包括:[0127]病毒处理模块,配置为输出对病毒进行处理的操作选项,并按照对所述操作选项的操作对所述待查文件进行处理。[0128]B14.根据Bll至B13中任一项所述的客户端,所述获取模块还配置为:[0129]接收由用户对文件类型或文件存储目录的选择操作;[0130]提取属于所述文件类型或者所述文件存储目录下的文件。[0131]B15.根据Bll至B14中任一项所述的客户端,其中,所述识别模块还配置为;[0132]提取所述待查文件的后缀文件名;[0133]根据所述后缀文件名确定所述待查文件的文件格式。[0134]B16.根据B9至B15中任一项所述的客户端,还包括:[0135]存储器,配置为将所述可执行代码保存至本地病毒库中。[0136]本发明实施例还提供了C17.—种病毒查杀方法,包括:[0137]根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将所述指令的集合编写为病毒查杀脚本;[0138]向病毒查杀客户端下发所述病毒查杀脚本,以供所述病毒查杀客户端将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码,并调用所述可执行代码对所述待查文件进行病毒查杀。[0139]C18.根据C17所述的方法,其中,在将所述指令的集合编写为病毒查杀脚本之后还包括:[0140]对所述病毒查杀脚本进行调试验证。[0141]C19.根据C17或C18所述的方法,其中,在根据病毒特征生成对待查文件进行病毒特征匹配的指令之前还包括:[0142]获取病毒文件样本;[0143]从所述病毒文件样本中提取出所述病毒特征。[0144]本发明实施例还提供了D20.—种病毒查杀服务器,包括:[0145]脚本生成模块,配置为根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将所述指令的集合编写为病毒查杀脚本;[0146]脚本下发模块,配置为向病毒查杀客户端下发所述病毒查杀脚本,以供所述病毒查杀客户端将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码,并调用所述可执行代码对所述待查文件进行病毒查杀。[0147]D21.根据D20所述的服务器,还包括:[0148]调试模块,配置为对所述病毒查杀脚本进行调试验证。[0149]D22.根据D20或D21所述的服务器,还包括:[0150]病毒特征提取模块,配置为获取病毒文件样本,并从所述病毒文件样本中提取出所述病毒特征。[0151]本发明实施例还提供了E23.—种病毒查杀系统,包括:[0152]根据B9至B15中任一项所述的病毒查杀客户端;[0153]根据D20至D22中任一项所述的病毒查杀服务器。【权利要求】1.一种病毒查杀方法,包括:病毒查杀客户端接收由病毒查杀服务器下发的病毒查杀脚本,所述病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;使用病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码;由所述病毒查杀客户端调用所述可执行代码对所述待查文件进行病毒查杀。2.根据权利要求1所述的方法,其中,使用病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码包括:由所述病毒查杀客户端中预置的编译器将所述病毒查杀脚本编译成目标文件,并将所述目标文件链接成与所述病毒查杀客户端所在硬件平台匹配的可执行代码。3.根据权利要求1所述的方法,其中,由所述病毒查杀客户端调用所述可执行代码对所述待查文件进行病毒查杀包括:获取所述待查文件;识别所述待查文件的文件格式;按照所述文件格式解析所述待查文件的数据结构;由所述病毒查杀客户端调用所述可执行代码对所述数据结构进行病毒查杀。4.根据权利要求3所述的方法,其中,由所述病毒查杀客户端调用所述可执行代码对所述数据结构进行病毒查杀包括:由所述病毒查杀客户端按照所述可执行代码的运算逻辑提取所述数据结构中特定位置的数据特征;判断所述数据特征是否符合所述可执行代码中的病毒判定条件;若是,确定所述待查文件包含病毒。5.根据权利要求4所述的方法,其中,在确定所述待查文件包含病毒之后还包括:输出对病毒进行处理的操作选项,并按照对所述操作选项的操作对所述待查文件进行处理。6.根据权利要求3至5中任一项所述的方法,其中,获取所述待查文件包括:接收由用户对文件类型或文件存储目录的选择操作;提取属于所述文件类型或者所述文件存储目录下的文件。7.一种病毒查杀客户端,包括:接收器,配置为接收由病毒查杀服务器下发的病毒查杀脚本,所述病毒查杀脚本包括对待查文件进行病毒特征匹配的指令;编译器,配置为将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码;查杀器,配置为调用所述可执行代码对所述待查文件进行病毒查杀。8.一种病毒查杀方法,包括:根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将所述指令的集合编写为病毒查杀脚本;向病毒查杀客户端下发所述病毒查杀脚本,以供所述病毒查杀客户端将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码,并调用所述可执行代码对所述待查文件进行病毒查杀。9.一种病毒查杀服务器,包括:脚本生成模块,配置为根据病毒特征生成对待查文件进行病毒特征匹配的指令,并将所述指令的集合编写为病毒查杀脚本;脚本下发模块,配置为向病毒查杀客户端下发所述病毒查杀脚本,以供所述病毒查杀客户端将所述病毒查杀脚本编译成与所述病毒查杀客户端所在硬件平台匹配的可执行代码,并调用所述可执行代码对所述待查文件进行病毒查杀。10.一种病毒查杀系统,包括:根据权利要求7所述的病毒查杀客户端;根据权利要求9所述的病毒查杀服务器。【文档编号】G06F21/56GK104134039SQ201410356648【公开日】2014年11月5日申请日期:2014年7月24日优先权日:2014年7月24日【发明者】陈卓,唐海,杨康,邢超申请人:北京奇虎科技有限公司,奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1