知己知彼 了解VB编写病毒的大体方法

2008-02-23 07:18:33来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

相信电脑界的每个人都痛恨计算机病毒,她给我们带来了很多麻烦和损失,可你知道编写病毒的方法和过程吗?在此我仅以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或其它方

法作为病毒发作条件的判断。

例:

if day(date)=16 then ""16是发作日期,取值为1-31的整数

... ... ""kill ******* 当日期相符时运行的破坏性代码(格式化、删除指定的文件类型、发送数据包

杜塞网路等,省略若干代码)

end if

病毒的破坏性

编写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅速减少直至死机(需要你懂得一点蠕虫的原理),也就是实现开机即死的

效果;也可以加入硬盘炸弹代码、系统后台删文件等。重的可以使计算机彻底瘫痪。

病毒的繁殖

原理很简单,就是将其自身与其它可执行文件合并,也就是两个文件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的

邮件列表,将带有病毒附件的E-Mail发给列表中的每一个人(这需要你懂得VB网络编程)。

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

关键词:
【推荐给好友】【关闭】
最新五条评论
查看全部评论
评论总数 0 条
您的评论
用户名: 新注册) 密 码: 匿名:
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:学会用 VC 动态链接库编写 DLL 木马

下一篇:学习当黑客 “培养”自己的简单木马