Maison > développement back-end > Tutoriel C#.Net > Simple virus anti-disque U (dossier mal formé qui ne peut pas être supprimé)

Simple virus anti-disque U (dossier mal formé qui ne peut pas être supprimé)

黄舟
Libérer: 2017-01-22 14:20:49
original
2256 Les gens l'ont consulté

很久的风行就是用的这种方法来防止用户删除它。

很久以前的一段时期也用次方法防U盘病毒

如下所示

:Simple virus anti-disque U (dossier mal formé qui ne peut pas être supprimé)


防U盘病毒的原理就是在每个盘创建一个这样的文件

下面先接受几个win API

DWORD WINAPI GetLogicalDriveStrings(<span style="white-space:pre">  </span>//获取磁盘  
  _In_  DWORD  nBufferLength,  
  _Out_ LPTSTR lpBuffer  );
Copier après la connexion
<span style="color: rgb(69, 69, 69); font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, 
Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20.0060005187988px;">
Fills a buffer with strings that specify valid drives in the system.</span>
Copier après la connexion

第二个API

BOOL WINAPI CreateDirectory(  
  _In_     LPCTSTR               lpPathName,  
  _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes  
);  
<span style="color: rgb(69, 69, 69); font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, 
Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20.0060005187988px;">
Creates a new directory. </span>
Copier après la connexion

下面是代码

#include "stdafx.h"  
#include <windows.h>  
  
void ImmuntiyAutoRun()  
{  
    //建立无法删除的文件夹  
    char szDriverStr[MAXBYTE] = { 0 };  
  
    DWORD dwLen = GetLogicalDriveStringsA(MAXBYTE, szDriverStr);  
  
    for (int i = 0; i < dwLen; i+=4)  
    {  
        char szRoot[4] = {}, szPath[MAX_PATH] = { 0 };  
        strncpy_s(szRoot, &szDriverStr[i], 4);  
        strcpy_s(szPath, szRoot);  
        strcat_s(szPath, "autorun.inf");  
        if (!CreateDirectoryA(szPath, nullptr))  
            printf_s("Error:%d", GetLastError());  
        strcat_s(szPath, "\\anti......\\");  
        if (!CreateDirectoryA(szPath, nullptr))  
            printf_s("Error:%d", GetLastError());  
    }  
      
}  
  
int _tmain(int argc, _TCHAR* argv[])  
{  
  
    ImmuntiyAutoRun();  
    getchar();  
    return 0;  
}
Copier après la connexion

这样就会在每一个盘下面创建一个尾部带"....."的畸形文件夹。


但注意的是,用win API 可以把他删除哦。

BOOL WINAPI RemoveDirectory(  
  _In_ LPCTSTR lpPathName  
);
Copier après la connexion

以上就是 简单的反U盘病毒(删除不了的畸形文件夹)的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal