visualbasic:Visual Basic编写病毒



  相信电脑界每个人都痛恨计算机病毒她给我们带来了很多麻烦和损失可你知道编写病毒思路方法和过程吗?在此我仅以VB编写为例揭开她面纱 

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

  * 感染主机

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

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

  病毒源文件名为game.exe

  声明部分:

""定义 FileExists% 
public success%
Function FileExists%(fname$)
 On Local Error Resume Next
 Dim ff%
 ff% = FreeFile
 Open fname$ For Input As ff%
 If Err Then
  FileExists% = False
 Else
  FileExists% = True
 End If
 Close ff%
End Function

  代码部分:

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

  * 开机启动病毒

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

  * 任务管理器

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

  * 病毒发作条件

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

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

  * 病毒破坏性

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

  * 病毒繁殖

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

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

延伸阅读

最新评论

发表评论