| | |
| |
| 近期校园msinfmgr.exe病毒的清除方法。 |
|
[ 2006/5/24 0:37:59 | By: 梦翔儿 ] |
近期校园内流行一种感染U盘或者其它移动存储的木马,用来记录U盘或者其它移动存储文件。 病毒表现:病毒主文件的文件名为msinfmgr.exe。在染毒的闪盘上会发现有msinfmgr.exe和autorun.inf文件,感染电脑后在安全模式下会看到/windows/system32下建立msinfmgr.exe和msinfmgr.dll文件,在/windows/system32/drivers下建立msinfomgr.sys文件。在D盘下建立文件msinfmgr.exe和autorun.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(游客) ] |
没想到,我的代码转载的挺快啊:-)以下为blog主人的回复: 嗯,写的挺好的转载一下。是非常地不错呵,佩服。 |
|
| | | |