在内核中阻止进程创建的正确方法

最近遇到一个BUG,通过Word在打开hyperlink时,在进程通知回调中结束了Chrome浏览器进程,目标进程虽然被杀了,但是Word还会再尝试用另一种方法再打开浏览器,这种情况只出现在Win7上,百思不得其解。。。最终定位到根本原因,原来是调用ZwTerminateProcess时传错了ExitStatus参数导致,修改为STATUS_ACCESS_DENIED后问题解决;

微软提供了3个进程创建通知回调,参数和NT内核支持不同,分别是

  • PsSetCreateProcessNotifyRoutine Windows 2000
  • PsSetCreateProcessNotifyRoutineEx VistaSP1 or WinServer2008
  • PsSetCreateProcessNotifyRoutineEx2 Win10 1703

其中Ex、Ex2版本的进程通知回调中结束进程,可以直接设置参数的CreateInfo.ExitStatus = STATUS_ACCESS_DENIED

PsSetCreateProcessNotifyRoutine,常规做法是,在回调中再创建一个内核线程,在新线程中通过ZwTerminateProcess去结束想要阻止创建的进程;

ZwTerminateProcess第二个参数是ExitStatus,如果传入NULL,表示进程正常退出,某些场景会影响父进程的处理逻辑,正确做法应该也跟Ex版本一样,传入STATUS_ACCESS_DENIED


http://www.niftyadmin.cn/n/5242655.html

相关文章

Android的前台服务

概述 前台服务是用户主动意识到的一种服务,因此在内存不足时,系统也不会考虑将其终止。前台服务必须为状态栏提供通知,将其放在运行中的标题下方。这意味着除非将服务停止或从前台移除,否则不能清除该通知。 在 Android 8.0&…

springboot 整合 Spring Security+JWT 实现token 认证和校验

1.大概是这个样子 JWT 是什么? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明…

前端小记--3.接上篇,级联组件el-cascader回显问题

在使用el-cascader这个级联组件时,组件的值是数组形式,且选中节点时,所返回的值中是包含选中节点的所有父节点的。 比如,我们选中的是“值班点1号-东门”,但组件实际的值是[‘值班点1号’,‘值班点1号-东门’]&#x…

Qt绘制直线箭头

一.使用QPainter绘制 满足条件: 任意角度直线都可绘制箭头所有箭头同样大小 void MainWindow::paintEvent(QPaintEvent*) {QPainter painter(this); // 创建QPainter对象,并指定绘制目标为当前的widgetQLineF line(50,20,500,500);double distanceFromEnd1 20;qre…

JPA构建多条件查询

方式一 new Specification匿名内部类&#xff0c;通过实现该匿名内部类的toPredicate方法构建查询sql Specification<T> specification new Specification<T>() {Overridepublic Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, Cri…

【JavaEE进阶】 Spring 的创建和使⽤

文章目录 &#x1f334;前言&#x1f38b;创建 Spring 项⽬&#x1f6a9;创建⼀个 Maven 项⽬&#x1f6a9;添加 Spring 框架⽀持&#x1f6a9;添加启动类 &#x1f333;存储 Bean 对象&#x1f6a9;创建Bean&#x1f6a9;将 Bean 注册到容器 &#x1f332;获取并使⽤ Bean 对象…

@Component 和 @Bean 和 @configuration的区别

从位置上确定了每个注解的区别 从注解的位置上来确定这三个注解的区别&#xff0c;我们可以看到它们的应用场景和作用不同。 Component注解&#xff1a; Component注解是标记在类级别上的注解&#xff0c;用于将一个类标识为Spring容器的组件。通过组件扫描&#xff08;compon…

网络安全威胁——跨站脚本攻击

跨站脚本攻击 1. 定义2. 跨站脚本攻击如何工作3. 跨站脚本攻击类型4. 如何防止跨站脚本攻击 1. 定义 跨站脚本攻击&#xff08;Cross-site Scripting&#xff0c;通常称为XSS&#xff09;&#xff0c;是一种典型的Web程序漏洞利用攻击&#xff0c;在线论坛、博客、留言板等共享…