【源代码级感染】Delphi民工的梦魇!
转自:http://hi.baidu.com/singlestudio/blog/item/5c8f3210d3aa0df5c3ce79a2.html
最近金山云安全中心截获了一个很牛X的病毒,金山的反病毒工程师不由叹道YY很久的东西终于有人实现了。
这是一段针对IT民工、尤其是Delphi程序员的病毒,简单的描述该毒行为,就是:它专门感染程序员的电脑,一旦成功,程序员今后写出的任何程序,都是带毒的。
它通过某种方式去查找dephi的安装目录,如果找到dephi这个冤大头,就将邪恶的恶意代码前排插入SysConst.pas文件,这个文件编译的时候,会生成SysConst.dcu,而这个文件会被添加到每个新的dephi工程中,all right!现在,民工们所编写的程序就全部都带毒咯!。
而更可怕的是,根据对染毒系统的分析,我们发现该毒在全球网络中已经传播了多月。已不知道有多少民工的生产工具中了招……
Delphi程序员的悲惨经历——病毒运行过程描述
某年某月某日,dephi噩梦中开始无声无息的执行。病毒的运行以后,首先执行后从注册表"HKEY_LOCAL_MACHINESoftwareBorlandDelphi"的RootDir值下读取Delphi路径.然后再读取delphi路径下的sourcertlsysSysConst.pas 文件,循环读取直到implementation行.然后跳出循环,下面开始前排插入恶意代码.保存文件后,最后使用MoveFile函数将原来的 SysConst.dcu命名为SysConst.bak,最后使用CreateProcess函数隐藏调用dcc32.exe编译被感染后的 SysConst.pas单元文件为SysConst.dcu.获取原文件时间,修改被感染后文件的时间,所以从文件时间上看不出任何变化.被感染后的编译环境只要加入SysUtils单元所编译的任意可执行文件都会成为病毒载体,一个隐秘的病毒兵工厂就这样一个个的诞生。
不幸中的万幸
虽然有可能已有大量程序员中招,但通过代码我们发现,该毒作者的用意似乎并不在破坏,只是静默无声无色地实现感染,一次又一次的感染,不断地传播代码的主体,病毒就这样不断传播,直到遍及全球所有IT民工的电脑,这一定是一个能让他觉得十分有成就感的过程。
天朝的病毒作者兴奋了
虽说病毒原作者看上去没啥坏心,但是在天朝广大趋利的病毒作者眼中,这无疑是一份大大的馅饼。根据目前金山云安全中心的监控首次截获病毒是8.13号,相信在孜孜不倦的天朝黑客的手中,这份看上去温和的代码会不断的改良,实现下载盗号器等功能,不久便“绽放”在神州大地。
手工解决方案
这个病毒具有二次感染能力,也就是说原来你编译出来的所有Delphi程序都可以再次感染你机器上的Delphi库文件,要彻底清除该病毒需做到以下几点:
1、不要运行任何Delphi编写的程序。
2、使用杀软扫描所有的Delphi编写的可执行文件并清除病毒。(或直接删除所有Delphi编写的可执行文件,包括从网上下载的)
3、将文件 %DelphiInstallPath%LibSysConst.dcu 删掉,然后执行步骤4 或 步骤5和6。
4、将文件 %DelphiInstallPath%LibSysConst.bak 改名为 SysConst.dcu,结束。
5、调用 DCC32.exe 编译出新的 SysConst.dcu ,编译命令如下: %DelphiInstallPath%binDCC32.exe "%DelphiInstallPath%\SourceRtlSysSysConst.pas"
6、将新编译的SysConst.dcu(在%DelphiInstallPath%\SourceRtlSys目录下)文件复制到 %DelphiInstallPath%Lib 目录,结束。
7、使用金山毒霸2009并升级到最新版本全盘扫描清除已经被感染的delphi程序
2009/08/20 17:58:08
手工解决方案不要运行任何Delphi编写的程序……..
2009/08/20 20:06:34
转而又转方案1、2是给用户的,1比较雷人似乎,delphi的产品,普通用户比较少。 其它方案是针对程序员的
2009/08/20 22:34:13
回复Tr0j4n:就是,记得,每次运行前还要脱下壳。。。。哈哈
2009/08/20 22:37:49
回复L.S.:其实就是针对我们这些涉及黑器的人,现在好多黑器都是用Delphi写的