我刚刚注意到最近升级的Take Command被报告为感染了这种病毒,并且在过去几个小时内对NOD的更新增加了检测该病毒的能力,这就是我意识到这一点的原因.在这种情况下,根据我接受的答案中链接的文章的内容来判断,它看起来像是误报.
不过...
显然,这种病毒只在受感染的程序运行时运行,但它会尝试找到Delphi安装,找到SysConst.pas文件,并在其中添加必要的代码,以使Delphi编译带有病毒的新程序.
我没有在这台机器上安装Delphi,所以至少应该把这个问题变成一个小问题,但是在工作中我们有一些安装了Delphi的机器.幸运的是,我没有更新形式的Take Command我的工作机器,但是说其中没有很多其他程序用Delphi编写,人们最近更新了......
所以,我想我会问.有没有人看过一个活的受感染的SysConst.pas文件,并且可以提供一些不应该在那里的示例代码?这样我们就可以通过机器运行并确保我们没有问题?
我一直在分析这种病毒.在网络上传播的信息,它感染在受感染机器上编译的所有可执行文件,并不完全正确.它只感染没有VCL运行时包而没有调试DCU编译的可执行文件.
如果使用包进行编译,则SysConst单元已经在已编译的VCL包中,该包不受影响.
病毒只会将自己添加到SysConst.dcu文件的非调试版本中.
否则,我到目前为止在网上看到的内容是准确的.病毒将SysConst.pas文件复制到'implementation'行,然后将其自身附加到新文件(SysConst.pas有一个空的实现部分 - 它只是常量声明).它将原始SysConst.dcu备份到SysConst.bak,将受感染的源代码副本编译为新的SysConst.dcu,然后删除源副本.最后,它设置新感染的dcu文件的文件创建和修改日期以匹配旧的干净文件.偷偷摸摸的!
除了重复之外它什么也没做 - 没有恶意的有效载荷.
我已经看到了它。对此还是有点困惑。当第一个通知发出时,我只查看了 .pas 文件。我没有发现 .pas 文件有任何问题,并将其保留到今天。然后我更仔细地研究了一下并查看了 .dcu 文件。我发现两个受感染的 .DCU 文件。两者的长度都是 18K,而不是 12K,后者只是一个小问题。第二个技巧是找到最后六个参数为 0,0,0,3,0,0 的 CreateFile。我将未受感染的 SysConst.DCU 文件从 DEBUG 文件夹复制到 LIB 中。然后我重新构建了被感染的应用程序,总共五个。其中一份可追溯至 6 月 22 日。其他则为最近。一个应用程序与另外两个受感染的应用程序在同一个周末构建,报告称是干净的。但我还是重建了它。
我一直在运行由卡巴斯基授权的 ZoneAlarm Security Suite Anti-Virus,直到大约五个小时前,它一直为我提供有关受感染应用程序的清晰报告。我必须使用 Avast 扫描应用程序!了解在那之前哪些人实际上被感染了。我一直在犹豫是否要放弃 ZA 的 AV,但这最终敲定了交易。我知道我不想要任何误报,但它们比任何漏报要少得多。五名受影响的客户之一很不高兴。我不能责怪他。
最后一个有趣的一点(当然我使用的是 Delphi 7.1)。调试中的新(旧?)SysConst.dcu 长度为 11,681 字节,而 .bak 文件我认为从原始文件创建的令人讨厌的文件长度为 11,658 字节。不知道这是否重要,但我保留了两者。我将在接下来的一段时间编译之前检查 dcu。这很麻烦,但接下来的一段时间里,偏执狂将统治这里的一天。
| 归档时间: |
|
| 查看次数: |
1877 次 |
| 最近记录: |