此实验代码请务必在Vmware中执行,不要在真机上进行实验,否则会很麻烦。
本实验的设计是基于C语言的恶意代码,其执行过程如下:
1. 首次执行该病毒时,如果检测到注册表的任务管理器未禁用,则该病毒依次执行以下功能:
创建一个启动项,将文件复制到系统目录路径下,并将其用作自动启动路径;
禁用任务管理器;
禁用注册表编辑器;
获取图片并修改桌面背景(重新引导生效);
修改注册表以将用户键盘输入阻止为1(重新启动生效);
删除驱动器号,使桌面无效并开始菜单快捷方式;
在桌面上恶意扩散,生成具有随机名称的自复制文件;
强制关闭计算机;
2. 重新启动计算机后,任务管理器已被禁用,因此它仅在桌面上恶意扩散,并且改变了桌面背景并且键盘输入无效.
1. 扩散模块
为了实现恶意代码的自我扩散,请使用Windows系统随附的API函数SHGetSpecialFolderPath来获取当前用户的桌面路径;使用GetModuleFileName函数获取当前正在执行的程序的路径,最后使用Copyfile函数完成自我扩散.
扩散模块的相关代码如图2.1所示.
图2.1恶意代码扩散模块
2. 注册表修改模块
修改注册表项,以使病毒程序在启动时自动启动,禁用任务管理器,禁用注册表编辑器电脑病毒编写,修改桌面背景图片,并将用户的键盘输入屏蔽为数字1. API函数主要用于: RegCreateKey,RegSetValueEx,RegCloseKey,相关代码如下: