现在的位置: 首页 > 综合 > 正文

简单移除镜像劫持

2013年11月30日 ⁄ 综合 ⁄ 共 667字 ⁄ 字号 评论关闭

所谓镜像劫持,简单地说是程序执行重定向的过程。

假设你机子上有两个可执行文件a.exe和b.exe,如果你双击a.exe却执行了b.exe,那么a.exe就很可能被镜像劫持了。其实镜像劫持没什么技术含量,就是操作注册表"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"的过程。

一般一些恶意工具会利用镜像劫持来达到禁用某程序运行,当然这也有缺陷,只要你将要运行的程序改名,劫持便无效。

一般杀软或主动防御都会对该注册表键进行保护,防止被恶意修改。以下是就是在下写的移除镜像劫持的函数。

BOOL RemoveImageExec(LPCSTR szName)
{
 HKEY hKey;
 LPCTSTR lpSubKey = "Software\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options";
 LONG ulRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpSubKey,0,KEY_ALL_ACCESS,&hKey);
 if (ulRet == ERROR_SUCCESS)
 {
  if (ERROR_SUCCESS == RegDeleteKey(hKey,szName))
  {
   RegCloseKey(hKey);
   return TRUE;
  }
  RegCloseKey(hKey);
 }
 return FALSE;
}

抱歉!评论已关闭.