载入中。。。 'S bLog
 
载入中。。。
 
载入中。。。
载入中。。。
载入中。。。
载入中。。。
载入中。。。
 
填写您的邮件地址,订阅我们的精彩内容:


 
近期校园msinfmgr.exe病毒的清除方法。
[ 2006/5/24 0:37:59 | By: 梦翔儿 ]
 
近期校园内流行一种感染U盘或者其它移动存储的木马,用来记录U盘或者其它移动存储文件。
病毒表现病毒主文件的文件名为msinfmgr.exe。在染毒的闪盘上会发现有msinfmgr.exeautorun.inf文件,感染电脑后在安全模式下会看到/windows/system32下建立msinfmgr.exemsinfmgr.dll文件,在/windows/system32/drivers下建立msinfomgr.sys文件。在D盘下建立文件msinfmgr.exeautorun.inf文件,因此有不少人中毒后重装系统一样染毒。任务管理器中会出现多个msinfmgr.exe进程,并会不断增多,短时间内就会造成系统瘫痪,同时很多软件都无法运行,进入Windows会报错。}

经过晚上在家研究,给出清除该病毒的最有效办法:

解决方法:
1.下载我们提供的软件,拷到硬盘上:
http://www.dlkp.gov.cn/temp/deletemsinfmgr.exe
2.进入安全模式
执行:deletemsinfmgr.exe
3.反复执行几次就可以清除干净了
*至于手动清除的办法,因为比较笨而且易出错,这里就不讲给大家了。
===============================================
/*附这个清除工具的原程序给大家
*文件名:main.cpp
*完成时间:2006年5月12日
*完成功能:
*1.改回由msinfmgr病毒更改的注册表项,关闭硬盘自动播放事件
*2.删除所有的病毒文件,保证病毒不会重生
*备注:与Windows XP Sp2 && Dev C++下通过
*
*/
#i nclude <stdio.h>
#i nclude <string>
#i nclude <conio.h>
#i nclude <stdlib.h>
#i nclude <direct.h>
#i nclude <windows.h>

int
main(int argc, char
*argv[])
{
 
char
op;
 
while
(1)
  {
    system("cls");
    printf("\t\t\tmsinfmgr病毒专杀程序\n\n\n");
    printf("\t使用说明:\n");
    printf("\t   1.请重启机器进入安全模式运行此程序。\n");
    printf("\t   2.为了确保成功删除病毒,运行完之后请再次重启进入安装模式再次运行。\n");
    printf("\t备注:基本方法来源于国外病毒网站的介绍。\n\n\n");
    printf("\t\t\t\t\tMade By Harite.K\n");
    printf("\t\t\t\t\tMail:Harite.K@gmail.com\n");
 
    printf("\n\n\n如果您已经在安全模式下并要开始杀毒,请选择y。否则请选择n退出。");
    op = getch();
   
if
(tolower(op)==''y'')
    {
     
break
;
    }
   
else if
(tolower(op)==''n'')
    {
     
return
0;
    }
  }

  system("cls");
 
/*首先,如果进程中有病毒进程,先结束它。*/
  printf("如果有确定框弹出,请点击\"确定\"结束病毒进程。\n");
  system("taskkill /F /IM msinfmgr.exe /T");
//此处不应该有错误判断,因为这个程序本来就是个错误:-)
 
 
/*其次,修复注册表。*/
  printf("\n\n准备修复注册表文件-begin\n");
  FILE *fp;
  fp = fopen("harite.reg", "w");
  fprintf(fp, "Windows Registry Editor Version 5.00\n");
//注册表文件规定
  //以下步骤移除病毒对注册表文件的改动
  fprintf(fp, "[-HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\msinfmgr]\n");
  fprintf(fp, "[-HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Enum\\Root\\LEGACY_MSINFMGR]\n");
  fprintf(fp, "[-HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet002\\Enum\\Root\\LEGACY_MSINFMGR]\n");
  fprintf(fp, "[-HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\\Root\\LEGACY_MSINFMGR]\n");
  fprintf(fp, "[-HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\Notify\\msinflogon]\n");
 
//关闭“硬盘自动播放事件”
  fprintf(fp, "[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer]\n");
  fprintf(fp, "\"NoDriveTypeAutoRun\"=dword:9d000000");
  fclose(fp);
 
 
//导入注册表文件
  if (system("reg import harite.reg")!=0)
  {
    printf("注册表文件无法导入,修复失败!-end\n");
  }
 
else
  {
    printf("清除病毒在注册表中的信息\n");
    printf("关闭硬盘驱动器自动播放的功能\n");
    printf("注册表修复成功\n");
  }
 
  printf("准备修复注册表文件-end\n");
 
 
if
(remove("harite.reg")!=0)
  {
    printf("临时注册表文件harite.reg不能正常被删除,请您手动删除它\n");
  }

  printf("\n\n正在着手删除病毒文件-begin\n");
 
char
lpBuf[20];
  GetSystemDirectory(lpBuf,
sizeof(lpBuf));
  printf("探测到您的系统路径为:%s\n", lpBuf);
 
  std::string command;
 
 
//开始删除系统目录下的病毒
  for (int i = 0; i<4; i++)
  {
    command = lpBuf[0];
   
if
(i==0)
    {
      command += ":\\windows\\system32\\msinfmgr.exe";
    }
   
else if
(i==1)
    {
      command += ":\\windows\\system32\\msinfmgr.dll";
    }
   
else if
(i==2)
    {
      command += ":\\windows\\system32\\drivers\\msinfomgr.sys";
    }
   
else if
(i==3)
    {
      command += ":\\windows\\system32\\drivers\\msinfklg.sys";
    }
   
   
if
(remove(command.c_str())!=0)
    {
      printf("没有发现病毒文件%s\n", command.c_str());
    }
   
else
    {
      printf("病毒文件%s被成功删除\n", command.c_str());
    }
  }
  printf("正在着手删除病毒文件-end\n");

 
/*探测并且删除各分区的autorun.inf及病毒文件*/
 
  printf("\n\n正在着手探测并且删除各分区的autorun.inf及病毒文件-begin\n");
 
/*如果能够使用chdrive()函数切换到分区,说明它存在*/
  printf("您的硬盘驱动器盘符包括");
 
for(int drive = 1; drive <= 26; drive++ )
  {
   
if
( !_chdrive( drive ) )
    {
      printf( "%c: ", drive + ''A'' - 1 );
    }
  }
  printf("\n");
  std::string tmp;
 
for(int
drive = 1; drive <= 26; drive++ )
  {
   
if
( !_chdrive( drive ) )
    {
      tmp = drive + ''A'' - 1;
      tmp += ":\\autorun.inf";

     
if (remove(tmp.c_str())!=0)
      {
        printf("没有在%c盘发现autorun.inf文件。\n", drive + ''A'' - 1);
      }
     
else
      {
        printf("在%c盘发现autorun.inf文件并删除。\n", drive + ''A'' - 1);
      }
     
      tmp = drive + ''A'' - 1;
      tmp += ":\\msinfmgr.exe";
     
if
(remove(tmp.c_str())!=0)
      {
        printf("没有在%c盘发现msinfmgr.exe文件。\n", drive + ''A'' - 1);
      }
     
else
      {
        printf("在%c盘发现msinfmgr.exe文件并删除。\n", drive + ''A'' - 1);
      }
    }
  }
 
  printf("正在着手探测并且删除各分区的autorun.inf及病毒文件-end\n");

  system("PAUSE");
  system("cls");
  printf("\t\t\t\t删除完成\n\n\n");
  printf("\t注意:\n\n");
  printf("1.如果这是您第一次运行本程序,为了确保删除病毒,请重启后进入安全模式再次运行!\n");
  printf("2.本程序不保证一定能彻底删除msinfmgr病毒,因为其原理还没有被公布.\n");
  printf("3.如果您有新的发现或对本程序有建议,请电子邮件到Harite.K@gmail.com\n\n\n");

  system("PAUSE");
 
return
EXIT_SUCCESS;
}
=============================


 
 
 
Re:近期校园msinfmgr.exe病毒的清除方法。
[ 2007/3/12 11:40:28 | By: harite(游客) ]
 
harite(游客)没想到,我的代码转载的挺快啊:-)
以下为blog主人的回复:
嗯,写的挺好的转载一下。是非常地不错呵,佩服。
 
 
发表评论:
载入中。。。

 
 
 

梦翔儿网站 梦飞翔的地方 http://www.dreamflier.net
中华人民共和国信息产业部TCP/IP系统 备案序号:辽ICP备09000550号

Powered by Oblog.