检测和清除计算机病毒的系统和方法技术方案

技术编号:2870552 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种检测和清除计算机病毒的系统和方法。该系统包括:编写该脚本的脚本语言模块;将该脚本中的脚本语句编译成指令码的脚本编译器;执行该指令码的脚本执行机,该脚本语言模块是由自定义的基本指令集所组成,脚本执行机包含执行该字节指令码的虚拟CPU和自定义API函数。调用自定义API函数和基本指令编写脚本,将其编译成字节指令,用含有脚本执行机的引擎执行该些字节指令完成查毒和杀毒工作。可以一次编写病毒的查杀病毒的脚本,就能适用于各种软件平台和各种硬件平台。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术是有关于一种计算机病毒的检测和清除的技术,特别是一种用自定义的脚本检测和清除计算机病毒的系统,以及采用此系统进行计算机病毒的检测和清除的方法。
技术介绍
长期以来,计算机病毒成为困扰使用计算机的人们的一个重大问题。计算机病毒的危害是多方面的,在小的方面,它可以让计算机不能正常工作,把工作成果毁坏一空;在大的方面,它可以使银行、企业以及科研机构的计算机系统瘫痪,有时甚至无法用金钱来计算它所带来的损失。尤其是网络的迅猛发展,成为病毒传播最大的途径。病毒通过比如电子邮件、intemet下载文件等方式进行传播,速度快,范围更广。所以,当今大多数个人和企业一般采用各大软件公司提供的查毒和杀毒的各种软件进行查杀毒。随着病毒的层出不穷,需要定期或不定期地到各大软件公司下载更新的病毒代码和扫描引擎,进行定期或不定期的查杀毒。目前对于已知的各种类型的病毒,查病毒常用的方法是特征码匹配法。已知其特征码,通过对可能带毒的文件进行检测,寻找病毒特征码,如找到相应病毒的特征码,则判断有病毒,进而进行杀毒。在新的病毒被发现并被病毒分析员分析后,取得该新病毒的特征码,将这种新病毒特征码加入到病毒库中,通过已加入此病毒库的引擎才能识别出这种新病毒。但是,由于这种特征码不具有可编程的特性,当一个病毒特征码不能奏效时,只能增加引擎算法来对付这个病毒。所以,不仅仅需要用户经常性的更新病毒库,还需用户更新引擎。这给用户和查杀病毒软件提供商都提供了很大的麻烦,并且浪费了大量的时间和经历。
技术实现思路
本专利技术的主要目的是提供一种跨平台的脚本检测和清除计算机病毒的系统,即脚本机,使它一次编写查杀病毒的脚本,就能用于各种软件平台和各种硬件平台。本专利技术的另一个目的是提供一种利用该系统进行查杀计算机病毒的方法。一种检测和清除计算机病毒的系统,所述系统包括编写该脚本的脚本语言模块;将该脚本中的脚本语句编译成指令码的脚本编译器;执行该指令码的脚本执行机,该脚本语言模块是由自定义的基本指令所组成,脚本执行机包含执行该字节指令码的虚拟CPU和自定义API函数,用该API函数和基本指令完成脚本语句编写,虚拟CPU执行脚本语句编译成的字节指令码。将该脚本类型语言执行机成为反病毒引擎的一个主要组成部分。一种检测和清除计算机病毒的方法,其包括以下步骤a编写查杀病毒的脚本;b将脚本中的脚本类型语句编译成字节指令码;c并将字节指令码传递给反病毒引擎的脚本执行机中;d将预查杀文件传递给脚本执行机,根据字节指令码对预查杀文件进行检测,判断该文件是否存在病毒;e如果发现某种病毒,执行相应病毒的杀毒脚本,进行清除病毒。该方法还包括将字节指令码放入病毒库中,所述反病毒引擎在初始化时载入该病毒库。采用上述的脚本机进行检测和清除(查杀)病毒,由如下的显著效果。1、由于脚本机与平台无关,这样在各个平台上都可以运行相同的脚本,所以,病毒分析员只要在一个常用的平台上实现即可,少去了调试的过程,由于脚本语言模块是由一种文本形式基本指令组成,使其在编写脚本时可以及时发现错误,大大简化病毒分析员的工作。2、在反病毒引擎载有脚本执行机,获得装有字节指令码的病毒库后,能直接进行查杀毒。每次只要下载或其它方式获得该病毒的字节指令码,就能直接进行该病毒的查杀毒工作,不需要下载引擎,能使软件公司降低了更新查杀病毒软件的成本,最重要的是使广大的用户得到了便利。附图说明图1为本专利技术的检测和清除计算机病毒的系统的结构框图。图2为采用本专利技术的检测和清除计算机病毒系统进行检测和清除病毒的方法工作流程图。具体实施例方式本专利技术提供一种检测和清除计算机病毒的系统,即脚本机100,包括脚本语言模块110,用来编写查杀病毒的脚本,该脚本由脚本语句组成;脚本编译器120,用于将脚本语句编译成字节指令码;及脚本执行机130,用于运行字节指令码完成查杀病毒工作。脚本语言模块110,该脚本语言模块110提供了编写查杀病毒的脚本的环境。该脚本语言模块110包含由自定义的基本指令112组成的基本指令集,其中有算术运算、逻辑判断、跳转语句、循环语句、比较语句等等。脚本是由一条条脚本语句组成,而脚本语句可以调用基本指令112。由于脚本语言模块110中所编写的脚本语句具有不使用平台相关的特征,所以它具有跨平台的特征。在设计时,为了使基本指令跟字节指令码相一一对应,没有采用类似c语言的语法,而采取了类似汇编语言的语法,采用这种语法编写,使病毒分析员很容易上手,简化了编写查毒和杀毒脚本的难度。脚本编译器120,用于将脚本语句编译成字节指令码。由于脚本执行机130运行字节指令码,而字节指令码是十六进制的编码,很不容易进行编写,设计了上述的脚本语言的基本指令112,所以就需要脚本编译器120,将其脚本语句编译成脚本执行机130能够执行的字节指令码。这一步骤可以使实际使用的脚本节约了存储空间,另一方面可以检查脚本的语法问题,使病毒分析员在编写脚本时可以及时发现错误。由于脚本设计与各种系统平台和硬件平台无关的,在各个平台的脚本执行机130都可以运行相同的字节指令码,所以脚本编译器120无需在各个平台都实现,只需在一个常用的操作平台,如windows平台实现即可,用该平台的脚本语言模块110编译出查杀病毒的字节指令码。这样的话,病毒分析员不仅可以选择一个常用或熟悉的平台进行编写脚本,而且还省去了到各个平台进行调试的时间和经历,完全意义上作到跨平台。脚本执行机130,该脚本执行机130提供脚本的API函数(ApplicationProgram Interface应用程序接口)132和虚拟CPU134。该自定义的脚本API函数132,能完成跟平台相关的或较复杂的功能,例如是文件操作、内存操作等。其包括文件操作API函数、缓冲区解码API函数,以及针对文件格式的专用API函数如MZ文件处API函数,PE文件处理API函数、OLE文件处理API函数、引导区处理API函数等等。通过调用该些文件操作API函数,进行如下的文件操作,如创建、删除、复制、查找、调用、刷新、读取等。调用脚本API函数132和脚本语言模块110的基本指令112,完成脚本语句的编写,一个查病毒的脚本是许多的脚本语句所组成。病毒分析员能在分析完病毒的特征后可以完成查毒脚本。同样,针对该病毒的特征所应采取的处理方法,完成杀毒脚本。本虚拟CPU134包含大量的内部寄存器、标志位等。在实施过程中,采用了256个寄存器、堆栈、堆栈指针、标志位、指令指针。这些数据包含在一个结构中。该虚拟机134,对每一条脚本语句对应的字节指令码的解释执行,具体地说,是脚本机的解释器,对脚本语句的解释执行。完成这项工作的是虚拟CPU中的执行函数136,该执行函数136为该脚本机是最重要的部分,可以用汇编语言、C语言或其它语言写。为了可移植性及可维护性,按照本专利技术的一个实施例,采用C语言编写。该执行函数136就象是一个真实CPU指令解释器。对脚本是解释执行,如一个真正的CPU,能读懂每一条字节指令码并正确执行。除了执行函数136,对外还引出几个函数,例如初始化函数138、反初始化函数140。其中初始化函数138用于脚本执行机130本身的初始化、分配需要的内存等;反初始化函数140用于释放脚本执行机130运行本文档来自技高网...

【技术保护点】
一种检测和清除计算机病毒的系统,所述系统包括:    编写脚本的脚本语言模块;    将该脚本中的脚本语句编译成字节指令码的脚本编译器;    执行该字节指令码的脚本执行机,其特征在于:该脚本语言模块包含自定义的基本指令,脚本执行机包含执行该字节指令码的虚拟CPU和自定义API函数,用该API函数和基本指令完成脚本语句编写,虚拟CPU执行脚本语句编译成的字节指令码。

【技术特征摘要】

【专利技术属性】
技术研发人员:李宇雄
申请(专利权)人:珠海金山软件股份有限公司
类型:发明
国别省市:44[中国|广东]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利