打开电脑,在运行框中输入CMD,不是吧,系统居然提示找不到CMD文件,如下图示:
点击确定又会弹出另外一个框:
原以为是系统变量设置出了问题,直接打开我的电脑,进入C:\WINDOWS\SYSTEM32\目录下,找到CMD.EXE直接运行,也是这样的情况!
马上进入到C:\WINDOWS\SYSTEM32\DLLCATCH\目录下,运行CMD.EXE文件,也是同样的提示:
运行command命令,虽然能弹出提示符状态,但是几乎所有的命令都不能用。用 GHOSTEXP.EXE 把原来备份中的CMD.EXE提取出来把 %SYSTEM% 和 %SYSTEM%\DLLCATCH 下的CMD.EXE文件覆盖掉,双击运行之后仍然是这样的提示。准备退出来的时候突然发现在C:\WINDOWS下有一个CDE.EXE.EXE莫非这个就是原来的CMD.EXE文件,只是被修改了名字换了个地方,但是双击之后仍旧不能运行。
注:%system%指的是C:\WINDOWS\SYSTEM32或者是C:\WINNT\SYSTEM32目录。更多的请参考:一文。
糟了,中毒了,用咔吧查,什么病毒都没查出来,具体的什么病毒都不知道,看来只能自己找资料手动解决这个问题了。很有可能就是一些病毒修改了注册表,于是在运行框中输入REGEDIT,居然弹出现面的提示:
连注册表业打不开了,会不会是系统的EXE文件关联被修改了,这个需要通过修改注册表来恢复。但是注册表现在又打不开,用记事本编辑注册表文件,再导入不就可以了么?
于是打开记事本文档,在里面输入以下内容(目的是允许当前用户运行cmd命令):
============================================
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
============================================
保存为cmd.reg(文件名可以任意),运行导入,结果弹出下面提示:
看来这个也不能用了,会不会是自己编辑注册表文件的时候输错了呢?带着这个疑问,我打开了另外一个注册表文件,也是同样的提示:
看来是病毒的原因了。
想通过批处理命令来对注册表操作,随便找了一个批处理命令双击,也不行:
头都有点大了,不知道该这么办了,突然想起来EXE文件虽然不可以运行,但是COM文件中应该可以运行吧!于是进入 C:\WINDOWS\ 把 regedit.exe 改名为 regedit.com 双击运行,即可打开注册表编辑器。
这下就可以修复文件关联了,具体的操作请参考:一文。
EXE文件关联修复之后,问题依旧,看来问题没有那么简单,不是EXE文件关联,那能是什么原因呢?
会不会是因为用户权限被修改的原因呢(在注册表中可以设置禁止用户运行批处理文件和CMD),于是打开注册表编辑器,进入HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System
新建一个双字节值项DisableCMD(如果没有的话,有的话直接修改其值就可以了,但要注意的是必须是双字节值,不是的话需要删掉重建),将其值设为 0 (这里的作用就是使用户可以运行cmd和批处理文件),当然它也有其它的参数:修改其值为2,则命令解释器和批处理文件都不能够被运行;如果只是禁止命令解释器的运行,而运行批处理文件的运行,则修改DisableCMD的值为1。这些大家可以自行试试!
当然也可以通过下面的注册表文件导入方法来实现(前提是等到注册表修复之后):
============================================
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
"DisableCMD"=dword:00000000
============================================
虽然权限也设置过了,但是问题依旧没有解决。真的有点不知道该怎么办了?呜呜…………
虽然还没找到彻底解决的办法,但是可以先给大家提供一个临时解决的办法,将系统中的CMD.EXE,REGEDIT.EXE,MSCONFIG.EXE文件的扩展名都改为COM基本上就可以暂时使用了!只不过要在运行框中输入命令时要带上COM扩展名。
找了这么久,终于找到原因了,原来是中了映像劫持病毒了,对于这种病毒只需要把映像劫持给关了就行了,可以通过修改注册表来实现:把[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]项删除即可。
好了,问题解决了,你改名的那些文件也该改过来了(把 COM 改回 EXE ),嘎嘎~~关于映像劫持方面的问题,过两天会给大家贴出来的!