什么是镜像劫持?修复镜像劫持的方法

很多网友在使用电脑的过程中碰到这样的奇怪现象:程序不管放在什么位置,打开该程序的时候,都会出现该程序无法运行或者指向另一个程序的情况,但是如果给该程序改名后便发现可以正常运行了,研究之后发现这是因为系统遭到镜像劫持了,系统被镜像劫持后会导致注册表冗余文件过多而导致系统卡顿,对此我们该如何解决呢?

什么是镜像劫持?修复镜像劫持的方法

文章插图
一、什么是映像胁持(IFEO)?
“映像劫持”,也被称为“IFEO”(Image File Execution Options),在WindowsNT架构的系统里,IFEO的本意是为一些在默认系统环境中运行时可能引发错误的程序执行体提供特殊的环境设定 。当一个可执行程序位于IFEO的控制中时,它的内存分配则根据该程序的参数来设定,而WindowsN T架构的系统能通过这个注册表项使用与可执行程序文件名匹配的项目作为程序载入时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等 。出于简化原因,IFEO使用忽略路径的方式来匹配它所要控制的程序文件名,所以程序无论放在哪个路径,只要名字没有变化,它就运行出问题 。
“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImage File ExecutionOptions”内,使用与可执行程序文件名匹配的项目作为程序载入时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等,大概微软考虑到加入路径控制会造成判断麻烦与操作不灵活的后果,也容易导致注册表冗余,于是IFEO使用忽略路径的方式来匹配它所要控制的程序文件名 。
Image File Execution Options位于注册表:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options由于这个项主要是用来调试程序用的,对一般用户意义不大 。默认是只有管理员和local system有权读写修改
先看看常规病毒等怎么修改注册表吧 。。
那些病毒、蠕虫和,木马等仍然使用众所皆知并且过度使用的注册表键值,如下:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWindowsAppInit_DLLs
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonNotify
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce
等等 。。。
二、具体使用资料:
@echo off
【什么是镜像劫持?修复镜像劫持的方法】rem 关闭命令回显
echo 此批处理只作技巧介绍,请勿用于非法活动!
rem 显示echo后的文字
pause
rem 停止
echo Windows Registry Editor Version 5.00》》ssm.reg
echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssyssafe.EXE] 》》ssm.reg
echo “Debugger”=“syssafe.EXE” 》》ssm.reg
rem 把echo后的文字导出到SSM.reg中
regedit /s ssm.reg &del /q ssm.reg
rem 导入ssm.reg并删除

使SSM失效HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssvchost.exe项下的“Debugger”=“abc.exe” 意思是不执行svchost.exe而执行abc.exe
可能说了上面那么多,大家还弄不懂是什么意思,没关系,我们大家一起来看网络上另一个朋友做得试验:
1、开始-运行-regedit,展开到:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options2、然后选上Image File Execution Options,新建个项,然后,把这个项(默认在最后面)然后改成123.exe
3、选上123.exe这个项,然后默认右边是空白的,我们点右键,新建个“字串符”,然后改名为“Debugger“

推荐阅读