8

我刚刚注意到最近升级的Take Command被报告感染了这种病毒,而最近几个小时对 NOD 的更新增加了检测该病毒的能力,这就是我意识到它的原因。在这种情况下,从我接受的答案中链接的文章的内容来看,它看起来像是误报。

尽管如此...

显然,该病毒仅在受感染的程序运行时才会运行,但它随后会尝试定位 Delphi 安装,找到 SysConst.pas 文件,并在其中添加必要的代码以使 Delphi 编译带有病毒的新程序。

然而,我没有在这台机器上安装 Delphi,所以至少应该让这个问题在这里变得很小,但是在工作中我们有几台安装了 Delphi 的机器。幸运的是,我的工作机器没有更新形式的 Take Command,但可以说没有很多其他用 Delphi 编写的程序,人们最近更新了......

所以,我想我会问。有没有人看到过受感染的 SysConst.pas 文件,并且可以提供一些不应该在其中的示例代码?这样我们就可以通过机器运行并确保我们没有问题?

4

2 回答 2

5

我一直在分析病毒。网络上流传的信息,即它感染了在受感染机器上编译的所有可执行文件,并不完全正确。它只会感染在没有 VCL 运行时包且没有调试 DCU 的情况下编译的可执行文件。

如果使用包编译,SysConst 单元已经在编译的 VCL 包中,不受影响。

并且病毒只会将自身添加到 SysConst.dcu 文件的非调试版本中。

否则,到目前为止我在网上阅读的内容是准确的。病毒将 SysConst.pas 文件复制到“实现”行,然后将自身附加到新文件(SysConst.pas 有一个空的实现部分 - 它只是常量声明)。它将原始 SysConst.dcu 备份到 SysConst.bak,将受感染的源代码副本编译为新的 SysConst.dcu,然后删除源副本。最后,它将新受感染 dcu 文件的文件创建和修改日期设置为与旧的干净文件相匹配。偷偷摸摸!

它除了重复之外什么都不做——没有恶意的有效载荷。

于 2009-08-20T17:18:49.087 回答
3

我已经看到了它。还是有点迷茫。当它的第一个通知发出时,我只查看了 .pas 文件。我没有发现 .pas 文件有任何问题并将其留到今天。然后我更仔细地研究了一下,然后去看了 .dcu 文件。我发现了两个受感染的 .DCU 文件。两者的长度都是 18K,而不是 12K,这是一个提示。第二个提示是找到最后六个参数为 0,0,0,3,0,0 的 CreateFile。我将未感染的 SysConst.DCU 文件从 DEBUG 文件夹复制到 LIB 中。然后我重新构建了被感染的应用程序,总共五个。一个可以追溯到 6 月 22 日。另一个是最近的。据报道,一个应用程序与其他两个受感染应用程序在同一周末构建。但我还是重建了它。

我一直在运行从 Kapersky 获得许可的 ZoneAlarm Security Suite Anti-Virus,直到大约五个小时前,它一直在为我提供有关受感染应用程序的清晰报告。我不得不用 Avast 扫描应用程序!了解在此之前哪些人实际上被感染了。我一直在放弃 ZA 的 AV 时犹豫不决,但这敲定了交易。我知道我不想要任何误报,但它们比任何漏报的阳性要少得多。五个受影响的客户之一不高兴。我不能责怪他。

最后一点有趣(我当然使用的是 Delphi 7.1)。来自调试的新(旧?)SysConst.dcu 的长度为 11,681 字节,而 .bak 文件我认为从原始文件中创建的令人讨厌的业务的长度为 11,658 字节。不知道这是否重要,但我一直在身边。在接下来的一小段时间编译之前,我将检查 dcu。这很麻烦,但在接下来的一段时间里,偏执狂统治着这里的一天。

于 2009-08-20T05:20:23.063 回答