虽然一般我不在这个blog上写很具体的技术,今天还是破例一把。朋友的机器又招遇了Keso说的流氓软件,实在是恶心。做个总结,万一以后有人遇到了可以有借鉴意义。
环境:
Windows XP Home SP2
现象:
开机后,系统频繁显示对话框“应用程序或DLL c:\windows\system32\SoDAHK.DLL为无效的windows映像.请再检测一遍您的安装盘”。尝试运行msconfig,无响应;运行IE,打不开;运行cmd,始终无法显示出命令提示符。
同时,系统性能严重下降,界面无法及时刷新。
诊断:
Google SoDAHK.DLL,发现数百条记录,网上已经是骂声一片,貌似是某软件带来的普遍问题。
从频繁显示对话框来看,很可能是通过全局Hook的方式,Inject到所有的Process中;偏偏Inject的Dll不争气有问题,所以每个进程都弹出了告警对话框。
解决:
启动到安全模式,还是有相关的对话框探出,但是由于安全模式下启动的应用大为减少,对话框数量变为了个位。
运行Regedit,定位到hkey_local_machine\software\microsoft\windows nt\currentversion\windows\Appinit_Dlls,发现键值c:\windows\system32\sodahk.dll,删除之。
删除文件c:\windows\system32\sodahk.dll。
运行msconfig,将陌生的startup程序统统Disable掉。
重启计算机到正常模式,弹出对话框的问题解决,性能恢复正常。至于是否有其他潜在问题,就不得而知了。如果要保险的话,就格系统把。
强烈建议:
不是从可靠来源的软件,不要安装。这也包括使用IE时,那些对话框提示选择是否安装的ActiveX控件,请养成By Default选No的好习惯。