教你如何用VisualBasic编写病毒
相信计算机界的人都很讨厌计算机病毒,它给我们带来了很多麻烦和损失,但是你知道病毒的编写方法和过程吗?在这里,我仅以VB为例,揭开她的面纱。
用VB编写病毒时,应考虑以下几点:
*感染宿主
第一,被感染文件运行后,需要确定主机是否感染了病毒,即病毒体文件是否存在,如果不存在,则将病毒体复制到指定位置(如:
将病毒文件复制到c:\Windows\system\),可以通过filecopy语句实现;如果病毒已经感染了宿主,则判断结束。
比如判断C:\windows\system\Killer.exe是否存在,如果存在,退出判断,如果不存在,证明电脑没有感染病毒,立即复制病毒文件。
病毒源文件被命名为game.exe。
声明部分:
下面是一个引用片段:
" " Define file exists % Function
public success %
Function file exists %(fname $)
on local error resume next
dimff %
ff % = FreeFile
Open fname $ For Input As ff %
If Err Then
file exists % = False
Else[/file exists % = True
End If
代码段:
以下是引用片段:
“确定文件是否存在
Success % = file exists %(“C:\ Windows \ System \ Killer.exe”)
如果success% = false那么”“如果病毒不存在,复制到电脑上
file copy“game.exe”,“C:\ Windows \ System \ killer.exe”
..." "修改注册表并将其添加到运行中。(省略一些代码)
End If
*启动病毒。
当病毒感染主机时,它会将自己加入注册表的启动操作中,这是在将病毒复制到主机中的同时完成的,主机被感染后注册表不会被修改。可以通过编程调用API函数操作WIN注册表来实现,这样每次电脑启动时病毒都会自动启动。(具体写法请参考其他资料)
*任务管理器
禁止病毒本身被列入任务管理器列表可以通过编程实现。可以用代码App实现。TaskVisible = false然后就是通过调用Win API函数实现,这里就不介绍了。
*病毒爆发条件
可以用日(日期)来判断今天的日期,然后和确定的日期进行比较。如果是一样的,就会表现出病毒主体的破坏性,否则就不会攻击。时间、日期或其他方法也可以用来判断病毒爆发的情况。示例:
下面是引用的片段:
如果day(date)=16那么" " 16是攻击日期,是一个取值为1-31的整数
..." " Kill * * * * * * *日期匹配时运行的破坏性代码(格式化、删除指定文件类型、发送数据包等。
*病毒的破坏力
这部分写出来的代码决定了病毒的威力。轻则可以快速减少系统资源,直至崩溃(你需要了解一点worm的原理),即实现开机死的效果;还可以添加硬盘炸弹代码,在系统后台删除文件等。重的可以让电脑完全瘫痪(没有介绍,可以参考其他病毒资料)。
*病毒的繁殖
原理很简单,就是把自己和其他可执行文件合并,也就是两个文件合并成一个文件。也可以通过电子邮件传递。方法是病毒读取被感染主机的邮件列表,将带有病毒附件的邮件发送给列表中的每一个人(这需要你懂VB网络编程)。
看完这篇文章,相信你对病毒写作的思路有了初步的了解。如果你是VB爱好者,你已经可以写一个非常简单的病毒了。但是,如果你精通VB,请不要在写完之后传播她的想法,因为传播她会有很大的影响,会改变你的命运(如果被警察抓住,你就死定了)。
位律师回复
0条评论