| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 15898 人关注过本帖, 18 人收藏
标题:[原创]用C语言写病毒(2)
只看楼主 加入收藏
yanggang2880
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-7-19
收藏
得分:0 
刚刚仔细看了一遍代码,发现你把explorer.exe改名成了$temp$,早知道我就不用费那么大劲去别的电脑上考了,代码基本上能看懂,但有一个问题想请教下楼主.
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();
这段代码中的argc既没有赋初值也没有改变它的值,请问它怎么会大于1,请问什么时候会跳过下两段代码呢?
2007-07-19 16:13
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用yanggang2880在2007-7-19 16:13:32的发言:
刚刚仔细看了一遍代码,发现你把explorer.exe改名成了$temp$,早知道我就不用费那么大劲去别的电脑上考了,代码基本上能看懂,但有一个问题想请教下楼主.
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();
这段代码中的argc既没有赋初值也没有改变它的值,请问它怎么会大于1,请问什么时候会跳过下两段代码呢?

因为explorer.exe是不能直接删除的,必须改名后注销或重起才能删除,因此首次运行只是改名,重起后病毒自动将其删除,再者,在C:\windows\system\有explorer.exe的原文件,这就是病毒提前提前运行后还出现桌面的原因.
argc和argv是主程序参数,举个例子
执行svchost.com /s时 argc为命令数(以' '为界),因此为2(因为svchost.com是一个 /s是一个)
argv[0]存储第一个命令 "svchost.com"
argv[1]存储第二个命令 "/s"

这段代码有一个不足之处
如果喜欢实验,可以在代码中加入 if(!autorun_explorer()) goto next1; 即上述代码改为
int main(int argc,char **argv)
{
int contral=0;
if(argc>1)
if(strcmp(argv[1],"/s")==0)
goto next1;
if(!autorun_explorer()) goto next1;
spawnl(1,"c:\\windows\\system\\explorer.exe",NULL);
next1:
add_reg();
最后:卸载程序执行后如果鼠标恢复正常请不要再次执行.


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-07-19 16:26
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2007-07-19 20:03
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
收藏
得分:0 
学习

[url=http://www..cn]电子编程[/url]
2007-07-28 21:31
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
收藏
得分:0 

这个病毒真强,楼主更强.


[url=http://www..cn]电子编程[/url]
2007-07-28 21:47
ywx620
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-28
收藏
得分:0 

强人,顶一下
2007-07-28 22:49
yanggang2880
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-7-19
收藏
得分:0 
不好意思好久没有上网,来晚了.多谢您的详细讲解,总算解开了我心中的疑团.
2007-07-31 18:08
crazyboy216
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-6-28
收藏
得分:0 
楼主,我把你的病毒1,和病毒2都研究了好多遍,真的佩服你,两个字"NB".
但我对你的病毒2有点问题:
1,在int autorun_explorer()这个函数中你是不是把这句写掉了
copy("c:\\windows\\system32\\dllcache\\exporer.exe","c:\\windows\\system\\explorer.exe");
因为我看你的那个批处理的文档里面有这么一句(copy c:\windows\system\explorer.exe c:\windows\system32\dllcache\explorer.exe)
2,这病毒2他怎么不能实现这个功能:8.不断搜索磁盘,只要发现未感染病毒的一律感染,病毒删除后1秒内再建.
能给我一个你的联系方式吗??有很多问题需要你的指点.我QQ56608696
2007-08-02 12:45
crazyboy216
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-6-28
收藏
得分:0 

楼主啊,联系方式啊,怎么没上线

2007-08-02 20:35
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用crazyboy216在2007-8-2 12:45:26的发言:
楼主,我把你的病毒1,和病毒2都研究了好多遍,真的佩服你,两个字"NB".
但我对你的病毒2有点问题:
1,在int autorun_explorer()这个函数中你是不是把这句写掉了
copy("c:\\windows\\system32\\dllcache\\exporer.exe","c:\\windows\\system\\explorer.exe");
因为我看你的那个批处理的文档里面有这么一句(copy c:\windows\system\explorer.exe c:\windows\system32\dllcache\explorer.exe)
2,这病毒2他怎么不能实现这个功能:8.不断搜索磁盘,只要发现未感染病毒的一律感染,病毒删除后1秒内再建.
能给我一个你的联系方式吗??有很多问题需要你的指点.我QQ56608696

首先,我没有写漏,因为c:\windows\explorer.exe和%sysdir%\dllcache\explorer.exe是一样的文件,因为系统文件保护机制,因此必须全部替换.搜索磁盘,注意,除了C外,其它磁盘只将病毒体复制到其根目录并加入自动运行文件(自动运行文件替换原打开方式,使其完全与未感染的一样,但无论如何的打开都将再次运行)


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-03 07:59
快速回复:[原创]用C语言写病毒(2)
数据加载中...
 
   



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

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