基本症状:可能有朋友遇到过这样的情况。一个正常的程序,无论把它放在哪个位置,或者是一个程序重新用安装盘修复过,都出现无法运行或者是比如运行A却成了执行B,而改名后却可以正常运行的现象。
既然我们是介绍IFEO技术相关,那我们就先介绍下:
一,什么是映像胁持(IFEO)
所谓的IFEO就是Image File Execution Options
它是位于注册表的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
由于这个项主要是用来调试程序用的,对一般用户意义不大。默认是只有管理员和local system有权读写修改
二,如何解决并预防IFEO
方法一: 限制法(转自网络搜索)
它要修改Image File Execution Options,所先要有权限,才可读,于是。。一条思路就成了。。
打开注册表编辑器,定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions\,选中该项,右键→权限→高级,取消administrator和system用户的写权限即可。
方法一: 快刀斩乱麻法
  打开注册表编辑器,定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\,把“ImageFileExecutionOptions”项删除即可。
----------------------------------------------------------------------------------------------------------------------
  所谓映像劫持,通俗一点讲,就是用户试图运行一个程序时,启动的是另一个毫不相干的程序,或者根本就没有启动。这种技术一般用户从来不用,病毒倒是对这种技术情有独钟,让用户启动一个应用程序时启动病毒程序,或者让用户的杀毒软件、防火墙、备份软件、输入法、任务管理器、命令行窗口、注册表等不能启动。
       网上有许多相关介绍,但是对于一般用户而言,凡是涉及到注册表的问题,恐怕没有那么容易弄懂,所以特意编写了这篇文章,用图文方式以范例形式详细解释。
       假设,这次的映像劫持目标是记事本程序notepad.exe,我们要让用户运行记事本程序时打开cmd.exe命令行窗口,或者点击记事本程序时无反映,不能运行。
       (注意:此试验过程中,杀毒软件可能会有报警提示,选择允许操作即可。试验完毕,记得恢复原样)。
       按照以下方式操作:
(一)启动注册表。点击“开始”菜单,点击“运行”,输入regedit并回车;
          如果不能从这里启动,按ctrl + alt + del 启动任务管理器,点击“新任务”,运行regedit;
          如果还是不能启动,直接进入windows目录下,找到regedit.exe程序,双击,如果仍然不能运行,把regedit.exe改一个名字,如abcd.com ,再双击改名后的注册表程序。这次应该能启动了。
(二)打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion,新建一个Image File Execution Options子键。
      方法:用鼠标右键点击CurrentVersion键项,在弹出菜单中点击“新建”→“项” ,再把新建的项重命名为Image File Execution Options
图1 新建键项Image File Execution Options
图2 新建子项notepad.exe
(三)再新建子项notepad.exe
          方法:图2所示,用鼠标右键点击Image File Execution Options,在弹出菜单中点击“新建”→“项”,然后用鼠标右键点击“新项 #1”,在弹出菜单中点击“重命名”,输入notepad.exe。
(四)方法:在右边窗口空白处用鼠标右键点击,在弹出菜单中点击“新建“→”字符串值”,设置映像劫持,”,再修改“新值 #1”,输入
用鼠标右键点击 ,在弹出菜单中点击“修改” ,输入cmd.exe(如果改名了,则输入改名后的名字,如cmd.com)。如图3 、图4 所示 。
图3 设置映像劫持

(五)确认映像劫持效果
          运行程序菜单→附件→记事本 程序,或者直接找到系统目录下的notepad.exe,运行,如果出现的不是记事本程序,而是命令行窗口,说明试验成功!

图4 编辑字符串,修改映像劫持
       如果在上图界面“编辑字符串”,把cmd.exe (或cmd.com)改成ntsd -d ,那么,记事本程序就不能打开了,运行记事本程序时没有任何反映;
       如果 “编辑字符串” 时输入其他程序,而且没有指定程序路径,运行被劫持的程序时会出现运行程序出错的提示;
       如果映像劫持的目标是杀毒软件,那么,劫持成功后,杀毒软件就不能启动了。同样原理,在这里进行映像劫持的任何程序,都不能正常启动。
       删除Image File Execution Options键项或者“编辑字符串”为空白(数据未设置),可以解除映像劫持,恢复原样。
(六)参考建议
          对于一般的电脑用户,并不需要使用映像劫持技术,如果发现注册表中有Image File Execution Options键项,建议直接删除此键项。
          中毒后,发现程序不能运行或运行错误时,可以删除Image File Execution Options键项试试,很多时候都能解决问题!