D018-C,C++保护指定PID的进程

2021在线班
郁金香灬老师 QQ 150330575
交流群:158280115


学习目标: 
     D018-C,C++保护指定PID的进程
	 
	 
	 static UINT32 pidList[256] = { 0 };//保存被保护PID的数组
//插入pid
//删除pid
//清空pid
//判断PID是否在指定列表


     
#include <ntifs.h>
#include "进程保护.h"

/*
//添加pid
//删除pid
//清空pid
//判断PID是否在指定列表
*/
//保护进程的数组
static UINT32 受保护的进程PID[256] = { 0 };//保存被保护PID的数组

void 清空受保护数组()
{
	memset(受保护的进程PID, 0, sizeof(受保护的进程PID));
}

void 添加受保护的PID(UINT32 pid)
{
	for (size_t i = 0; i < 256; i++)
	{
		if (受保护的进程PID[i] == 0|| 受保护的进程PID[i]==pid)
		{
			//是空位置
			受保护的进程PID[i] = pid;
			KdPrint(("yjx:SYS 添加受保护的PID =%d ", pid));
			break;
		}
	}
}

void 删除受保护的PID(UINT32 pid)
{
	for (size_t i = 0; i < 256; i++)
	{
		if (受保护的进程PID[i] == pid) //相等表示找到了
		{
			 
			受保护的进程PID[i] = 0;
			KdPrint(("yjx:SYS 移出受保护的PID =%d ", pid));
			//break;
		}
	}
	return;
}

BOOLEAN 判断受保护的PID(UINT32 pid)
{
	if (pid == 0) return 0;

	for (size_t i = 0; i < 256; i++)
	{
		if (受保护的进程PID[i] == pid) //相等表示找到了
		{
 
			return TRUE;
		}
	}
	return FALSE;
}



	 