• 进程保护(一)


    进程保护有很多方法。我所知道的有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;
    
    }
    


     

  • 相关阅读:
    栈与递归
    细说二叉树的删除操作
    二叉树
    链表队列
    数组队列
    链表栈
    c语言实现数组栈
    c语言实现双链表
    HDU 4557 非诚勿扰(Treap找后继)
    POJ 3481 Double Queue(Treap模板题)
  • 原文地址:https://www.cnblogs.com/zkkkkkky/p/4423002.html
Copyright © 2020-2023  润新知