-
vb教程之浅谈VB编写病毒的思路
HappyLand Software 献上
* 本文章仅供研究、学习 *
相信电脑界的每个人都痛恨计算机病毒,她给我们带来了很多麻烦和损失,
可你知道编写病毒的方法和过程吗?在此我仅以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的整数
... ... '当日期相符时运行的破坏性代码
end if
* 病毒的破坏性
~~~~~~~~~~~~~~
编写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅
速减少直至死机(需要你懂得一点蠕虫的原理),也就是实现开机即死的
效果;也可以加入硬盘炸弹代码(HD-BOMB原理我以前做过介绍)、系统后
台删文件等。重的可以使计算机彻底瘫痪(不作介绍,你可以参阅其它病
毒的有关资料)。
* 病毒的繁殖
~~~~~~~~~~~~
原理很简单,就是将其自身与其它可执行文件合并,也就是两个文
件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的
邮件列表,将带有病毒附件的E-Mail发给列表中的每一个人(这需要你懂
得VB网络编程)。
读完本文章相信您已对病毒的编写思路有了初步的了解,如果你是个VB爱好
者,你已经可以编写一个很简单的病毒了,但你要是精通VB的话,请不要有编写
后传播她的想法,因为传播她造成很大的影响将改变你的命运(被公安抓住就挂
了)。
声明:乐土(HappyLand)工作室并不开发病毒,而是以实用软件开发为主,
==== 写本类文章的目的只是为了使大家了解各种病毒编写、运行的部分
原理,只有在了解病毒原理后才能有效的防范它。如果您在看完本文
章后编写了病毒程序,造成的后果本工作室概不负责。
欢迎使用乐土软件(HappyLand Software)
HappyLand Workroom
E-Mail: hlsoft2001@sohu.com
作者:HappyLand Workroom
* 本文章仅供研究、学习 *
相信电脑界的每个人都痛恨计算机病毒,她给我们带来了很多麻烦和损失,
可你知道编写病毒的方法和过程吗?在此我仅以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的整数
... ... '当日期相符时运行的破坏性代码
end if
* 病毒的破坏性
~~~~~~~~~~~~~~
编写的此部分代码决定了病毒威力的强弱。轻的可以使系统资源迅
速减少直至死机(需要你懂得一点蠕虫的原理),也就是实现开机即死的
效果;也可以加入硬盘炸弹代码(HD-BOMB原理我以前做过介绍)、系统后
台删文件等。重的可以使计算机彻底瘫痪(不作介绍,你可以参阅其它病
毒的有关资料)。
* 病毒的繁殖
~~~~~~~~~~~~
原理很简单,就是将其自身与其它可执行文件合并,也就是两个文
件并成一个文件。也可通过E-Mail传播,方法是病毒读取被感染主机的
邮件列表,将带有病毒附件的E-Mail发给列表中的每一个人(这需要你懂
得VB网络编程)。
读完本文章相信您已对病毒的编写思路有了初步的了解,如果你是个VB爱好
者,你已经可以编写一个很简单的病毒了,但你要是精通VB的话,请不要有编写
后传播她的想法,因为传播她造成很大的影响将改变你的命运(被公安抓住就挂
了)。
声明:乐土(HappyLand)工作室并不开发病毒,而是以实用软件开发为主,
==== 写本类文章的目的只是为了使大家了解各种病毒编写、运行的部分
原理,只有在了解病毒原理后才能有效的防范它。如果您在看完本文
章后编写了病毒程序,造成的后果本工作室概不负责。
欢迎使用乐土软件(HappyLand Software)
HappyLand Workroom
E-Mail: hlsoft2001@sohu.com
作者:HappyLand Workroom
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比