????近年来,新的算计机病毒生长特殊猖狂,并且这些新病毒特别加倍潜伏、纷乱,某些新病毒所具有的毁坏性更大,所带来的损失无法测度。这表白算计机病毒的防治尤为紧急,同时所面临的形象也特别加倍严肃。本文就在带毒情状下检测肃除病毒的想法题目提出一点领会与观点。 ???? ????一、带毒情状下检测肃除病毒的意义 ???? ????目前在我国流行的病毒日常可分为7k7k赛尔号摩尔庄园开发型病毒、文件型病毒和搀杂型病毒。开发型病毒的特征是它寄生在软盘的DOS开发扇区和硬盘的主开发记载或DOS开发区中,开机时由算计机主动读入内存中执行。文件型病毒则将自己附加在可执行文件上,在执行被浸染轨范时,病毒首先取得抑制权,举办驻留或破坏等行动。搀杂型病毒既能浸染开发区也能浸染可执行文件,具有更强的传染性。常用的杀毒软件有KV300、公安部的KILL、美国McAfee公司的SCAN和CLEAN等,这些软件各有自己的好处。不过在一个带毒的情状下,也即在病毒已经驻留在内存中的情况下,这些杀毒软件都生计不敷并或者带来一些不良的效率。 ???? ????当编制浸染一种已知病毒时,KILL和SCAN发现内存中有病毒后,日常是中断不停执行,并要求用明净的盘从头开动。KV300发出似乎的警告新闻,但提供应用户一个选取的机遇,以确定是否不停执行,很显明,若用户选取不停,所带来的效率是不行预期的。 ???? ????当编制浸染一种未知病毒时,三种软件在未发现内存中有已知病毒后,都倘若编制中无病毒,忠实地执行检测或肃除功能。究竟上,这个未知病毒或者会在检测时传染盘中所有的可执行文件。 ???? ????由上面的讨论可知,清查病毒时只有从万万明净的盘开动,并且要求杀毒软件自己无毒,才或许担保万无一失。不过,因为人们互相拷贝各式软件,很大水平上帮忙了病毒的流传,在很多情况下,要取得一张明净的开动盘很不容易,并且对待一些对算计机编制懂得不是很多的行使者来说,他们根底无法判定一张开动盘是不是明净的。所以,研究在带毒情状下举办病毒检测和肃除的想法是很有意义的。 ???? ????二、带毒情状下检测肃除病毒的意思 ???? ????对待一个驻留内存乘机举办传染和破坏的病毒来说,日常都要截取某些间断向量,当其他轨范挪用这些间断时,病毒从头博得抑制权,决断是否满足特定的条目,满足则激活传染或破坏部门,在条目不满足的情况下日常是挪用原间断服务轨范,告竣正常的编制功能。 ???? ????开发型病毒常接收INT13H、08H、10H等间断;文件型病毒则常7k7k赛尔号摩尔庄园接收INT21H、24H、25H、26H、1CH、13H、10H等间断。 ???? ????既然病毒是经过议定接收间断来取得传染和破坏的机遇,那么我们是否有想法找回被病毒接收的间断服务轨范的所在,从而杀毒软件不妨直接挪用原间断,避免激活病毒?笔者认为这是或者的,因为病毒在接收间断后,日常只对读写操作、文件操作和执行等子功能挪用感趣味,对待其他一些功能挪用,病毒不过简略单纯地挪用原间断服务轨范举办治理,并时常行使下列指令举办挪用: ????jmp xxxx:xxxx ????call xxxx:xxxx ????jmp far ptr cs:[xxxx] ????call far ptr cs:[xxxx] ???? ????以INT21H为例,我们不妨挪用取DOS版本号的子功能3306H,对所有挪用过程举办单步跟踪,并倘若病毒驻留的段所在与INT21H原间断段所在是差异的,要是挪用过程中CS产生改造,我们把每次CS改造后执行的第一条指令的所在都记载下来,那么INT21H历来的间断所在也必然在其中。 ???? ????但记载的所在不止一个,究竟哪个是我们所要找的呢?这边我们不妨倘若病毒在调原间断服务法度模范时把各个寄放器(指AX、BX、CX、DX、SI、DI、DS、ES)都配置成我们挪用时所配置的值,同时真实的间断服务法度模范返回时又会改造寄放器的值,这个倘若在绝大多数处境下都是准确的,从该倘若启程,只需在各个寄放器值没有改造的处境下,记载下每次CS改造后的第一条指令的所在,那么在间断返回后,记载中的近来一个所在便是所需找的原间断所在。必要指出的是,假若内存中尚有其他驻留法度模范也收受了INT21H,所找到的所在同样绕过了这些驻留法度模范。 (转载请注明出处:http://www.4-1w.com/moerzhuangyuan/20101119/935.html) |