相信电脑界的每个人都痛恨,她给我们带来了很多麻烦和损失,可你知道编写病毒的方法和过程吗?在此我仅以 VB编写为例,揭开她的面纱。
用VB编写病毒需要考虑到如下几点:
感染主机
首先染毒文件运行后先要判断主机是 否以,也就是判断病毒主体文件是否存在,如果不存在则将病毒主体拷贝到指定位置,可用filecopy语句实现;如果病毒已感染主机则结束判断。
例 如,判断C:“windows“system“Killer.exe是否存在,如果有则退出判断,如果没有则证明本机未感染病毒,立即拷入病毒文件。
病 毒源文件名为game.exe
声明部分:
以下是引用片段:
""定义FileExists%函数
publicsuccess%
FunctionFileExists%
OnLocalErrorResumeNext
Dimff%
ff%=FreeFile
Openfname$ForInputAsff%
IfErrThen
FileExists%=False
Else
FileExists%=True
EndIf
Closeff%
EndFunction
代 码部分:
以下是引用片段:
""判断文件是否存在
success%=FileExists%
Ifsuccess%=FalseThen"" 病毒不存在则拷贝病毒到计算机
FileCopy"game.exe","C:“windows“system“Killer.exe"
..."" 修改,将其加入RUN中。
EndIf
开机启动病毒
在病毒感染主机的同时,将自身加入注册表的开机运行中,这与向主机 拷入病毒是同时进行的,主机感染后不再修改注册表。可通过编程和调用API函数对WIN注册表进行操作来实现,这样在每次启动计算机时病毒自动启动。
任务管理 器
在任务管理器列表中禁止病毒本身被列出,可以通过编程来实现。用代码App.TaskVisible=false就可以实现;再有就是通 过调用WinAPI函数来实现,这里就不作介绍了。
病毒发作条件
可用Day来判断今天是几号,再与确定好的日期作比较,相同 则表现出病毒主体的破坏性,否则不发作。也可用Time、Date或其它方法作为病毒发作条件的判断。例:
以下是引用片段:
ifday=16then""16 是发作日期,取值为1-31的整数
......""kill当日期相符时运行的破坏性代码
endif
病毒的破坏性
编 写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅速减少直至死机,也就是实现开机即死的效果;也可以加入硬盘炸弹代码、系统后台删文件等。重的 可以使计算机彻底瘫痪。
病 毒的繁殖
原理很简单,就是将其自身与其它可合并,也就是两个文件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的邮件 列表,将带有病毒附件的E-Mail发给列表中的每一个人。
读完本文章相信您已对病毒的编写思路有了初步的了解,如果你是个VB爱好者,你 已经可以编写一个很简单的病毒了,但你要是精通VB的话,请不要有编写后传播她的想法,因为传播她造成很大的影响将改变你的命运。