进程保护有很多方法。我所知道的有HOOK API,双进程保护,还有DLL远程注入。HOOK API现在在WIN7 64位似乎已经用不了了,听说是要签名吧。
今天先说双进程保护。

双进程保护的思路很简单,A,B两个进程。A时时刻刻检测B进程有没有运行,如果没有运行就打开B,运行咋不做处理。

同样的,B也是做这件事。

关键的代码不多。

打开应用程序

			ShellExecute(NULL,(LPCSTR)"open",(LPCSTR)szPath,NULL,NULL,SW_SHOW);//szPath为文件名


 

 

另外就是检测进程了。

int CheckProcess()
{
	int x = 0;//用x来记录保护的程序是否在运行。
	char  Name[] = "Student.exe";//保护的进程名。
	PROCESSENTRY32 pe;
	pe.dwSize = sizeof(pe);
	HANDLE hProcessShot ;
	hProcessShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	if (hProcessShot == INVALID_HANDLE_VALUE)
	{
		printf("创造句柄失败:%d",GetLastError());
	}
	if (Process32First(hProcessShot,&pe))
	{ 
		if (strcmp(pe.szExeFile,Name)==0)
		{
			x = 1;
			return x;
		}
	}
	while (Process32Next(hProcessShot, &pe))
	{

		if (strcmp(pe.szExeFile,Name)==0)
		{
			x = 1;
			return x;
		}
	}
	return x;

}


 

 

posted on 2014-05-14 20:28  zkkkkkky  阅读(379)  评论(0编辑  收藏  举报