当前位置: 首页 > news >正文

setnet科技网站建设东营公共资源交易信息网

setnet科技网站建设,东营公共资源交易信息网,wordpress 注册登陆插件,文化共享工程网站建设情况一、设计界面 1、添加一个编辑框输入要保护的进程PID#xff0c;并添加两个按钮#xff0c;一个保护进程#xff0c;一个解除保护 2、右击编辑框#xff0c;添加变量 二、驱动层代码实现 1、声明一个受保护的进程PID数组 static UINT32 受保护的进程PID[256] { 0 }; 2…一、设计界面 1、添加一个编辑框输入要保护的进程PID并添加两个按钮一个保护进程一个解除保护 2、右击编辑框添加变量 二、驱动层代码实现 1、声明一个受保护的进程PID数组 static UINT32 受保护的进程PID[256] { 0 }; 2、添加PID到保护函数 void 添加PID到保护(UINT32 pid) {for (size_t i 0; i 256; i){if (受保护的进程PID[i]0|| 受保护的进程PID[i]pid){受保护的进程PID[i] pid;break;}} } 3、删除PID保护函数 void 删除PID保护(UINT32 pid) {for (size_t i 0; i 256; i){if (受保护的进程PID[i] pid){受保护的进程PID[i] 0;break;}} } 4、清空PID保护函数 void 清空PID保护() {memset(受保护的进程PID, 0, sizeof(受保护的进程PID)); } 5、PID是否受保护函数 BOOLEAN PID是否受保护(UINT32 pid) {for (size_t i 0; i 256; i){if (pid0){return 0;}if (受保护的进程PID[i] pid){return TRUE;}}return FALSE; } 6、将函数在头文件声明一下 void 添加PID到保护(UINT32 pid); void 删除PID保护(UINT32 pid); void 清空PID保护(); int PID是否受保护(UINT32 pid); 7、获取PID UINT32 当前进程PID PsGetCurrentProcessId();HANDLE PID PsGetProcessId((PEPROCESS)OperationInformation-Object);if (PID是否受保护(PID)1){DbgPrint(nxyn:sys pEPROCESS%p , OperationInformation-Object);DbgPrint(nxyn:被保护的PID%d \n, PID);ACCESS_MASK 获取权限 OperationInformation-Parameters-CreateHandleInformation.OriginalDesiredAccess;ACCESS_MASK 获取新权限 OperationInformation-Parameters-CreateHandleInformation.DesiredAccess;//将句柄权限清零//让结束进程的功能失效获取权限 ~PROCESS_TERMINATE;获取权限 ~PROCESS_VM_OPERATION;获取权限 ~PROCESS_VM_WRITE;获取权限 ~PROCESS_VM_READ;//返回我们修改过的权限 OpenProcessOperationInformation-Parameters-CreateHandleInformation.DesiredAccess 获取权限;DbgPrint(nxyn:获取权限%X 获取新权限%X, 获取权限, 获取新权限);} 8、添加控制码 #define irp添加PID到保护 CTL_CODE(FILE_DEVICE_UNKNOWN, 0x804, METHOD_BUFFERED,FILE_ANY_ACCESS) #define irp删除PID保护 CTL_CODE(FILE_DEVICE_UNKNOWN, 0x805, METHOD_BUFFERED,FILE_ANY_ACCESS) 9、通过控制码实现添加和删除保护 else if (控制码 irp添加PID到保护){IRP添加PID到保护(IRP指针);}else if (控制码 irp删除PID保护){IRP删除PID保护(IRP指针);} 10、添加和删除的代码具体实现 void IRP添加PID到保护(PIRP IRP指针) { int* 缓冲区 (int*)IRP指针-AssociatedIrp.SystemBuffer;int 计算结果 0;if (缓冲区){UINT32* pPID (UINT32*)缓冲区;UINT32 pid pPID[0];添加PID到保护(pid);IRP指针-IoStatus.Information sizeof(int);//设置操作的字节数IRP指针-IoStatus.Status STATUS_SUCCESS;//返回状态IoCompleteRequest(IRP指针, IO_NO_INCREMENT);//完成一个IRP请求KdPrint((nxyn:PID已添加到保护));} }void IRP删除PID保护(PIRP IRP指针) {int* 缓冲区 (int*)IRP指针-AssociatedIrp.SystemBuffer;int 计算结果 0;if (缓冲区){UINT32* pPID (UINT32*)缓冲区;UINT32 pid pPID[0];删除PID保护(pid);IRP指针-IoStatus.Information sizeof(int);//设置操作的字节数IRP指针-IoStatus.Status STATUS_SUCCESS;//返回状态IoCompleteRequest(IRP指针, IO_NO_INCREMENT);//完成一个IRP请求KdPrint((nxyn:PID已删除保护));} } 三、应用层代码实现 1、添加控制码 #define irp添加PID到保护 CTL_CODE(FILE_DEVICE_UNKNOWN, 0x804, METHOD_BUFFERED,FILE_ANY_ACCESS) #define irp删除PID保护 CTL_CODE(FILE_DEVICE_UNKNOWN, 0x805, METHOD_BUFFERED,FILE_ANY_ACCESS) 2、双击保护进程按钮 UpdateData(TRUE);//将窗口的数据更新到变量char 缓存区[256];sprintf_s(缓存区, nxyn:应用程序保护PID控制码为%X\n, irp添加PID到保护);OutputDebugStringA(缓存区);UINT32 输入数据 m_PID;int 返回数据;DWORD 实际读取字节数;DeviceIoControl(设备句柄,irp添加PID到保护,输入数据,sizeof(输入数据),返回数据,sizeof(返回数据),实际读取字节数,NULL); 3、双击解除进程保护按钮 UpdateData(TRUE);//将窗口的数据更新到变量char 缓存区[256];sprintf_s(缓存区, nxyn:应用程序删除PID控制码为%X\n, irp删除PID保护);OutputDebugStringA(缓存区);UINT32 输入数据 m_PID;int 返回数据;DWORD 实际读取字节数;DeviceIoControl(设备句柄,irp删除PID保护,输入数据,sizeof(输入数据),返回数据,sizeof(返回数据),实际读取字节数,NULL); 四、测试应用
http://www.hkea.cn/news/14583231/

相关文章:

  • 商丘做网站推广老徐蜂了网站策划书
  • 莒南建设局网站化妆所有步骤
  • 网站维护学校网站怎样建设
  • 手机网站开发在pc端wordpress电影网盘
  • 做网页收款网站校园网站的建设作用
  • php网站做代理广西建设厅网站招 标 信 息
  • wordpress 网站播放器插件下载外贸建站深圳
  • 给人做网站网站廊坊企业做网站
  • 2018网站的建设与维护前景wordpress页面样板
  • 河南省建设厅官方网站 吴浩网页模板源码
  • 刷单网站搭建海外学校网站建设
  • 内部网站建设软件下载wordpress米表插件
  • 番禺手机网站制作推广wordpress 响应式模版
  • 室内设计师常用网站毕业设计平台
  • 个人网站模板html代码免费我要自学网官网入口
  • 怎么做电子商务的网站购买国外服务器
  • 网站建设空间使用标准重庆龙华网站建设公司
  • 网站扫码充值怎么做的网站建设开票属于哪个名称
  • 清廉桂林网站媒体资源
  • 和平网站建设在线户型图设计
  • 兰州商城网站建网页小游戏单机
  • 自己做的网站如何让外网访问建网站系统能换吗
  • 珠海建网站网页设计公司业绩介绍
  • 苏州网站建设上往建站培训机构查询网
  • 郑州微信小程序绍兴seo推广公司
  • 电子商务网站建设与维护管理劳务派遣和外包一样吗
  • 惠州网站制作推广建设教育网站怎么样
  • 哪个网站可以直接做ppt广东建筑企业50强
  • 怎样做自己的vip解析网站电商平台定制
  • 做程序开发的网站wordpress眉顶布局