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

进程强杀探究 前言 我们知道在windows操作系统里面有ring0跟ring3的概念(ring1、ring2在windows中并未使用),因为ring0的特权级别是比ring3高的,那么我们肯定不能在ring3调用windows提供的api杀死ring0特权级别的进程,那么这时候我们就需要使用的ring0的函数来强行结束一些处于ring0级别的进程。 测试 我们首先打开PCHunter32.exe看一下,应用层是不能够访问的,我们知道可以在cmd里面使用taskkill命令来结束进程,但这种方式对ring0特权级别的程 阅读详情

最近遇到一个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

Linux内核:进程管理——进程间同步与互斥 进程的并发性带来了异步性(各个并发的进程独立的以不可预知的速度向前推进),而有的进程则需要有次序的相互配合来完成作业,所以有了进程同步。进程同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系,。为了协调进程之间的相互制约关系,引入了进程同步的概念。临界资源虽然多个进程可以共享系统中的各种资源,但其中许多资源一段时间内只能为一个进程所使用,我们把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机等。 阅读详情

相关推荐

WFP驱动--进程规则拦截

实现了对进程信息的获取,监控,并进行拦截操作,使用WFP,交流请私信,不定期看csdn

IIS无法启动问题的解决

IIS无法启动,显示“服务并未即使响应启动或控制请求”,我用两种办法都没有解决:1、把IIS卸载重装也不行;2、到服务中world wide web publishing服务也不能启动,提示127错误,依存服务都启动了也不行。于是就没办法了,几个星期也没有调试网站。今天上网查了一下找到了一个看上去有些道理的解决办法:呵呵,我也遇此问题,怀疑是补丁造成的,因为我们都是在下午打的补丁,然后晚上出问题还

lee576的专栏 1万+

从CAD到完美网格:HyperMesh几何清理全流程指南(2023最新版)

本文详细介绍了2023最新版HyperMesh在几何清理和网格划分方面的全流程操作指南。从CAD导入、几何修复到中面提取和网格生成,系统性地分享了实战验证的解决方案,帮助工程师高效处理复杂几何体,提升有限元模型质量。特别针对汽车和航空航天领域的常见问题,提供了智能化工具和优化技巧。

weixin_29306011的博客 225

Windows 驱动阻止进程创建

windows Vista及以后版本可以使用PsSetCreateProcessNotifyRoutineEx函数检测到进程创建和退出,当进程创建时什么回调函数中的参数的成员CreateStatus为不成功的值即可阻止进程创建,但是一般会弹出一个对话框,这个不太友好,解决的办法是 设置CreateStatus为STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY

a907763895的专栏 5844

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, MBD) 的开源自驾仪,可被用来快速构建无人机,无人车,无人船,机器人等平台的控制系统。 系统主要由两部分构成. FMT-Firmware: 一个基于C/C++开发的稳定、高性能的嵌入式系统. FMT-Model: 一个基于MATLAB/Simulink开发的仿真框架以及算法库. 昨天得知FMT开源飞控项目已经开

weixin_45786595的博客 2872

使用 DeepSeek 配合 即梦AI 生成视频的详细教程

访问即梦AI官网,选择“AI作图”功能,将DeepSeek生成的提示词逐条粘贴至输入框,选择适配的模型(如“通用XL Pro”)和参数(如画幅比例、风格强度)1113。“我要制作一个关于普洱茶文化的宣传视频,请设计一个30秒的脚本,包含时间轴、画面描述、文案和分镜提示词,以表格形式输出。:云南古茶树群,清晨薄雾,金色晨光,露珠特写,国风山水画质感,16:9画幅,使用Nikon D850参数模拟513。:结合DeepSeek生成的知识点脚本与即梦AI的插画风格,制作科普动画211。

weixin_48995695的博客 3万+

PsSetCreateProcessNotifyRoutine监控进程创建

PsSetCreateProcessNotifyRoutine函数用来注册一个进程创建的回调函数,当有新从进程被创建时,就把父进程的ID,和子进程(被创建的进程)ID传给回调函数,通过回调函数,可以监控新创建的进程 NTSTATUS PsSetCreateProcessNotifyRoutine( _In_ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRouti...

Sven的忘却日记 5929

14.4kW大功率母线变换器设计:LLC+矩阵变压器+GaN实战解析

在数据中心供电架构中,隔离母线变换器将高压直流母线转换为48V低压母线,是大功率供电链路的核心环节。随着功率密度与效率要求不断攀升,传统移相全桥与普通LLC方案已难以满足300A级输出需求。基于LLC/CLLC谐振拓扑,结合矩阵变压器与GaN功率器件,成为新一代高性能母线变换器的主流技术路线。矩阵变压器将大功率磁性元件拆分为多个小单元,配合原边串联副边并联结构,有效降低绕组损耗并提升功率密度;GaN器件则通过高频软开关进一步压减开关损耗。本文以一台14.4kW样机为例,完整梳理从拓扑选型、谐振参数计算、同步

weixin_28273593的博客 341

基于PsSetCreateProcessNotifyRoutineEx实现监控进程创建并阻止创建(禁用QQ 360等exe可执行文件)

对于内核层实现监控进程的创建或者退出,你可能第一时间会想到 HOOK 内核函数 ZwOpenProcess、ZwTerminateProcess 等。确定,在内核层中的 HOOK 已经给人留下太多深刻的印象了,有 SSDT HOOK、Inline HOOK、IRP HOOK、过滤驱动等等。 但是,Windows 其实给我们提供现成的内核函数接口,方便我们在内核下监控用户层上进程的创建和退出的情况。即 PsSetCreateProcessNotifyRoutineEx 内核函数,可以设置一个回调函数,来监控

苞米地里捉小鸡的博客 4951

2025-08-19利用opencv检测图片中文字及图片的坐标

该代码实现了图片中中文文本的检测与位置计算功能。主要使用CnOcr库进行OCR识别,结合OpenCV和PIL库处理图像。功能包括:1)检测图片中的中文文本及位置坐标;2)计算每个文本的像素宽度和高度;3)在原图上绘制文本边界框并标注识别结果。代码通过put_chinese_text函数解决中文显示问题,最终输出各文本内容、坐标位置及尺寸信息。适用于需要获取图片中文字精确位置的应用场景。

m0_58149406的博客 394

汽水音乐自动化薅羊毛教程:从零搭建稳定赚钱脚本

📖 前言:为什么要学习自动化脚本?在数字时代,时间就是金钱。汽水音乐等App通过观看广告奖励用户金币的模式,本质上是将我们的时间转化为收益。本教程将教你如何用Python自动化这个过程,让程序为你"打工",实现被动收入。通过本教程,你将学到:移动端自动化测试的核心技术Python在自动化领域的实际应用如何将重复性任务转化为自动化流程创造属于自己的"数字员工"第一章:环境准备与基础配置1.1 硬件要求Android手机一部(建议使用备用机)USB数据线。

weixin_44947827的博客 5780

驱动开发:内核监控进程与线程创建

监控进程的启动与退出可以使用 `PsSetCreateProcessNotifyRoutineEx` 来创建回调,当新进程产生时,回调函数会被率先执行,然后执行我们自己的`MyCreateProcessNotifyEx`函数,并在内部进行打印输出。而检测线程操作与检测进程差不多,检测线程需要调用`PsSetCreateThreadNotifyRoutine` 创建回调函数,然后就可以检测线程的创建了。

微软技术分享 1万+

小梅哥Xilinx FPGA学习笔记11——亚稳态

亚稳态就是D触发器输入信号在其数据窗口期内发生变化,导致D触发器的输出进入一段时间的不稳定状态,有可能发生振荡,并最终随机稳定在高电平或者低电平。

m0_51430584的博客 631

内核 进程监控 线程监控

唉  最近学习感觉有点学不懂了 有点头蒙  都有点想放弃了 最后还是坚持一下吧 看内核看不懂了 就去pwn     昨天确实有点瞎想了  有些东西未来再说 现在 为时太早  然后 今天 搞得是  内核进程监控  然后还是根据看雪分享的教程 写的 作者是 Tesla.Angela 然后  这里 并非是 HOOKSSDT 而是 用的   VOID CreateProcessNotifyEx...

qq_41071646的博客 409

网络工程师教程第6版(2024年最新版)

本书 根据《网络工程师考试大纲》(2024年审定通过)编写,对网络工程师岗位所要求的主要知 识及应用技术进行了阐述。本书主要内容包括数据通信、局域网、无线通信网、网络互连、网络安全、网络操作系统与应用服务器、组网技术、网络管理、网络规划和设计。本书是参加网络工程师考试的必备教材,也可作为网络工程从业人员学习网络技术的教材或日常工作的参考用书。王涛和严体华编写了第2章、第3章和第4章;网络工程师教程(第6版)由清华大学出版社出版,由工业和信息化部教育与考试中心组编,张永刚、王涛、高振江任主编,具体介绍如下。

鹿鸣天涯 6901

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

7.1 Windows驱动开发:内核监控进程与线程回调

系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。那么会提示连接的设备没有发挥作用,我们则成功拦截了这次打开,当然如果在打开进程之前扫描其特征并根据特征拒绝进程打开,那么就可以实现一个简单的防恶意程序,进程监控在防恶意程序中也是用的最多的。一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以。

微软技术分享 6127

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

不使用钩子,禁止创建进程

函数原型: NTSTATUS PsSetCreateProcessNotifyRoutine( _In_ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine, _In_ BOOLEAN Remove ); 原文的解释为:The PsSetCreateProcessNotifyRoutine routin...

xmmdbk的博客 679

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

[内核安全7]内核级的进程的监控

0. 导言 进程的监控可以通过挂钩SSDT表中的NtOpenProcess来实现,但是现在这种方式已经不怎么用了,因为不稳定在者可能会被认为是恶意软件。微软知道这个问题所以为我们提供了专门的内核接口来实现这种功能。 1. PsSetCreateProcessNotifyRoutine 通过PsSetCreateProcessNotifyRoutine来监控进程, 该内核函数有个升级版PsSetCreateProcessNotifyRoutineEx。这个升级版功能更强大但只能在Vista版本以后使用,

輚至消亡 1193

驱动开发:内核监控进程与线程回调

系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。那么会提示连接的设备没有发挥作用,我们则成功拦截了这次打开,当然如果在打开进程之前扫描其特征并根据特征拒绝进程打开,那么就可以实现一个简单的防病毒程序,进程监控在防病毒程序中也是用的最多的。如上,该函数只有两个参数,第一个参数是回调函数,第二个参数是是否注销,通常在驱动退出时可以传入。

微软技术分享 1万+

Linux 内核的系统 设置 进程不可以被杀死 应该如何操作?

,因为这是内核设计的最后保障机制。建议:根据实际需求选择组合方案,优先考虑权限最小化和隔离技术,而非完全阻止终止。高级 内核模块 + SELinux ⭐⭐⭐ 显著增强 ⭐⭐⭐。中级 cgroups + 命名空间 ⭐⭐ 部分有效 ⭐⭐。在 Linux 系统中,无法完全阻止进程被终止(尤其是。在特权容器中运行进程(需docker或podman)return -EPERM;终极 虚拟机隔离 ⭐⭐⭐⭐ 接近免疫 ⭐⭐。一、基础防护方案(无需修改内核)二、高级防护方案(需内核级操作)

抟土成人祖,炼石补青天。眼中览银河,手可摘星辰。 1329

vc++实现内核级进程保护

 保护核心代码 #include "ntddk.h"#define NT_DEVICE_NAME      L"//Device//ProtectProcess"#define DOS_DEVICE_NAME     L"//DosDevices//ProtectProcess"#define IOCTL_PROTECT_CONTROL CTL_CODE(FILE_DEVICE

尹成的技术博客 4851

利用钩子技术控制进程创建

一、 简介  最近,我了解到一个叫做Sanctuary的相当有趣的安全产品。它能够阻止任何程序的运行-这些程序没有显示在软件列表中-该表中的程序被允许在一个特定的机器上运行。结果,PC用户得到保护而免于各种插件间谍软件、蠕虫和特洛伊木马的侵袭-就算能够进入他/她的计算机,它们也没有机会执行,并因此没有机会对该机器造成任何损害。当然,我觉得这个特征相当有趣;并且,在稍作思考以后,我就有了一个自己的实

fxpopboy的博客 1035

linux内核获取进程全民,一种拦截Linux内核恶意进程提权的方法及系统技术方案...

【技术实现步骤摘要】本专利技术涉及信息安全,尤其涉及一种拦截Linux内核恶意进程提权的方法及系统。技术介绍由于Linux系统内核的严格用户权限限制,Linux系统存在的漏洞并不多。在Linux漏洞攻击中,大部分恶意程序最终都是调用commit_creds函数进行进程的root级提权,达到释放恶意行为的目的,且很多恶意程序并不对系统权限进行长期或者永久性的提取,而是在程序启动瞬间进行提权,恶意行为...

weixin_30962449的博客 429

通过HOOK控制进程的创建

一、 简介  最近,我了解到一个叫做Sanctuary的相当有趣的安全产品。它能够阻止任何程序的运行-这些程序没有显示在软件列表中-该表中的程序被允许在一个特定的机器上运行。结果,PC用户得到保护而免于各种插件间谍软件、蠕虫和特洛伊木马的侵袭-就算能够进入他/她的计算机,它们也没有机会执行,并因此没有机会对该机器造成任何损害。当然,我觉得这个特征相当有趣;并且,在稍作思考以后,我就有了一个自己

jiangxinyu的专栏 4866

linux内核进程管理模块,[原创]开源一个Linux内核里进程内存管理模块源码

Linux它是一款开源的内核系统。本人也非常喜欢嵌入式Linux系统,特别是它的内核源码,书写的风格,都非常讨我心欢。这个驱动是之前业余的时候写的对于新手来说,还是有学习价值的。下面将对源码进行简单的讲解。首先是隐藏内核驱动模块。list_del_init是将自身驱动模块从驱动列表(lsmod)中抹掉kobject_del是将自己从/sys/class/xxxxxx中抹掉接下来是打开进程接口。在L...

weixin_35715474的博客 587
上一篇: 【内核与用户层同步】内核对象安全描述符降权
下一篇: fatal error C1001: An internal error has occurred in the compiler
FFE4
博客等级 码龄9年 234粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值