今天用户反应运行程序时出现病毒警告,后来发现自己编译程序时也报告Virus.Win32.Induc.a 病毒。
查了一下,原来这个病毒是专门感染delphi程序的,找到了解决方法,介绍如下:
这个病毒会感染文件:BorlandDelphi4Libsysconst.dcu,只要修复这个文件就可以了。
查看一下文件大小就可以知道是否被感染了,其中delphi4.0的应该是8k,感染后为14k;delphi6中的此文件应该是11k,感染后为17k。
怎么修复呢?将感染的文件删除,再粘贴未感染的文件即可。
这个病毒的作者没有什么恶意,他感染sysconst.dcu文件时,还把原来的文件备份了,名为:sysconst.bak。接下来怎么做,就不用我说了。
我的电脑中装有两个版本的delphi,一开始解决delphi6时,不知道如何修复文件,还是从同事的电脑中拷贝未被感染的文件到自己的电脑上。但delphi4别人没有安装,正愁怎么修复呢,后来一查看
关于该病毒的相关信息:
【版權聲明】Virus.Win32.Induc.a的病毒,该病毒会通过CodeGear Delphi的集成软件开发环境系统进行传播。目前,卡巴斯基实验室的所有产品已经具备查杀该病毒的能力。
Virus.Win32.Induc.a 病毒利用了 Delphi 开发环境创建可执行文件时所采用的二步过程机制。首先,源代码被编译成中间 .dcu文件(Delphi已编译单元文件),然后这些中间 .dcu文件会被关联用于创建最终的Windows 可执行文件。
新发现的这种病毒会在被感染程序运行时被激活。激活后,病毒会检查计算机上是否安装了Delphi开发环境系统,检查的版本包括4.0, 5.0, 6.0 以及 7.0 。一旦发现安装了Delphi,Virus.Win32.Induc.a 病毒会对Delphi源文件Sysconst.pas进行编译,生成一个修改过的名为Sysconst.dcu的编译文件。
几乎所有的 Delphi 项目都包含“use SysConst”这一行代码,这意味着即使病毒只感染一个系统模块,最终也将导致开发环境中所有的程序被感染。换句话说,被修改的SysConst.dcu 文件会导致所有在已被感染的环境下开发的子程序中包含病毒代码,而被修改的 .pas文件则会被删除,因为它已经没有任何用途。
目前,Virus.Win32.Induc.a 病毒似乎还不构成威胁,尽管其具有传染性,但并未表现出其他恶意攻击行为(payload)。很可能,此病毒只是用来演示和测试这种新的病毒感染方式。虽然此病毒并不具备毁灭性的攻击行为(payload),但它已经感染个多个版本的常见即时通讯客户端QIP,再加上其通过软件开发程序所使用的 .dcu文件进行感染的非同寻常的感染方式,使得此病毒已在全球广泛传播。我们预测,网络罪犯很可能会在将来重拾此病毒,并将其改进,使其具有更强的破坏性。