vs设置:“项目-属性-链接器-命令行”位置添加 /INTEGRITYCHECK 即可,不然注册回调的时候会失败
参考:https://xiaodaozhi.com/kernel/18.html

#include <ntddk.h>typedef NTSTATUS (*PPsSetCreateProcessNotifyRoutineEx)(
_In_ PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,
_In_ BOOLEAN Remove
);PPsSetCreateProcessNotifyRoutineEx pPsSetCreateProcessNotifyRoutineEx = NULL;
BOOLEAN bRegister = FALSE;VOID CreateProcessNotifyEx(_Inout_  PEPROCESS              Process,_In_     HANDLE                 ProcessId,_In_opt_ PPS_CREATE_NOTIFY_INFO CreateInfo)
{HANDLE hParentId = NULL;HANDLE    hParentThreadId = NULL;HANDLE  hCurrentThreadId = NULL;hCurrentThreadId = PsGetCurrentThreadId();if (CreateInfo == NULL){DbgPrint("ProcessDestory ThreadID[%d]", hCurrentThreadId);return;}hParentId = CreateInfo->CreatingThreadId.UniqueProcess;hParentThreadId = CreateInfo->CreatingThreadId.UniqueThread;DbgPrint("CreateProcess ParentID[%d] Name:%wZ", hParentId, CreateInfo->ImageFileName);return;}NTSTATUS    Unload(PDRIVER_OBJECT driver)
{DbgPrint("unload driver");if (bRegister && pPsSetCreateProcessNotifyRoutineEx){pPsSetCreateProcessNotifyRoutineEx(CreateProcessNotifyEx, TRUE);bRegister = FALSE;}return STATUS_SUCCESS;
}NTSTATUS   DriverEntry(PDRIVER_OBJECT  driver, PUNICODE_STRING RegPath)
{DbgPrint("Driver Entry");driver->DriverUnload = Unload;do{UNICODE_STRING uFunName = { 0 };RtlInitUnicodeString(&uFunName, L"PsSetCreateProcessNotifyRoutineEx");pPsSetCreateProcessNotifyRoutineEx = (PPsSetCreateProcessNotifyRoutineEx)MmGetSystemRoutineAddress(&uFunName);if (pPsSetCreateProcessNotifyRoutineEx == NULL){DbgPrint("GetSetCreateProcessNotif Failed");break;}if (STATUS_SUCCESS != pPsSetCreateProcessNotifyRoutineEx(CreateProcessNotifyEx, FALSE)){DbgPrint("Register Process Notify Failed");break;}bRegister = TRUE;DbgPrint("Register Process Notify Success");} while (FALSE);return STATUS_SUCCESS;
}

PsSetCreateProcessNotifyRoutineEx进程监控框架相关推荐

  1. Docker监控:基于阿里云容器服务构建自己的Docker监控框架

    微服务架构通过将一个复杂系统分解成一系列独立开发.部署和运维的服务,提升了整个系统的敏捷性,可以灵活的响应业务和规模的变化.而Docker技术则将服务的部署和环境完全解耦,利用Docker的可移植性和 ...

  2. linux里进程监控和自动重启,Linux - linux进程监控和自动重启的简单实现

    linux进程监控和自动重启的简单实现 目的:linux 下服务器程序会由于各类缘由dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能.linux 实现原理:由定时任务crontab调 ...

  3. bat php 监控网站,HTML_进程监控实现代码[vbs+bat],运行后会在%windir%\system32\目录 - phpStudy...

    进程监控实现代码[vbs+bat] 运行后会在%windir%\system32\目录下生成jk.vbs, 并且自动添加注册表启动项,另外在D:\会生成一个隐藏属性的JK.VBS, 3秒间隔监控进程, ...

  4. AIX进程监控与管理

    AIX进程监控与管理 一, PS命令 1.1 显示10个消耗cpu最多的进程 1.2 显示10个消耗存储空间最多的进程 1.3 按顺序显示系统中受罚的进程: 1.4 按照优先级顺序显示系统中的进程 1 ...

  5. shell实现简单的进程监控脚本

    一个简单的需求:shell实现进程监控watchdog功能,配合计划任务每分钟执行一次shell脚本,对进程进行监控,如果意外中断那么启动他,如果正常则什么都不需要去做. #!/bin/bash NA ...

  6. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  7. linux 进程监控和自动重启的简单实现

    目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...

  8. python进程监控 supervisor_使用Python的Supervisor进行进程监控以及自动启动

    做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下. 结合之前在腾讯工作的经验,也会讲讲腾讯的 ...

  9. linux下进程监控6,Linux进程监控技术—精通软件性能测试与LoadRunner最佳实战(6)...

    8.2.5  Linux操作系统进程监控技术 Linux在进程监控方面同样出色,不仅可以通过图形用户界面的管理工具,还可以用命令方式显示进程相关信息.像"Windows的任务管理器" ...

最新文章

  1. 注册中心 Eureka 源码解析 —— 应用实例注册发现(五)之过期
  2. PSVR开发者需要了解的9件事
  3. Thinkphp5 自定义分页类
  4. mysql 按月统计代码_SQL对数据进行按月统计或对数据进行按星期统计的实例代码...
  5. jenkins上linux-gradle机器对android执行shell签名apk
  6. android 网络调试工具,安卓网络调试助手
  7. 如何检测支付宝接口中notify_url.php有没有返回,微信小程序支付成功,但是notify_url接收不到回调如何排查此问题?...
  8. CPU的温度是360的准还是鲁大师的准?
  9. GitHub使用(1):从GitHub建立项目分支并克隆到本地
  10. Struts2后台使用Request和Session方法
  11. Ubuntu14.04上安装Jupyter的方法
  12. ucinet计算聚类系数大于1怎么办_ucinet软件解释对照
  13. 如何在SVN创建分支版本
  14. win7本地登录计算机,win7系统绑定微软账户到本地电脑上的具体办法
  15. html代码表格服装尺寸,HTML - 表格单元尺寸
  16. 【ALLEGRO Artwork设置】
  17. python二级证书含金量排名_计算机二级证书含金量有多高?你真的知道吗???...
  18. android 背光控制,Android P背光策略分析(一)
  19. 535. TinyURL 的加密与解密(Medium)
  20. 一生中最值得珍藏的电影台词

热门文章

  1. Python语言学习:复杂函数(yield/@property)使用方法、案例应用之详细攻略
  2. ML之DT:机器学习根据大量数据,已知年龄、收入、是否上海人、私家车价格的一个人,预测是否有真实购买上海黄浦区楼房的能力
  3. DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神经网络的工作原理
  4. 成功解决AttributeError: type object 'scipy.interpolate.interpnd.array' has no attribute '__reduce_cython
  5. Py之neurolab:Python库之neurolab的简介、安装、使用方法之详细攻略
  6. CV:基于深度学习实现目标检测之GUI界面产品设计并实现图片识别、视频识别、摄像头识别(准确度非常高)
  7. ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注
  8. Crawler:基于urllib库+实现爬虫有道翻译
  9. C++中构造函数和析构函数的调用顺序
  10. Katalon Studio之swagger中的API导入