驱动编程学习三 进程监控

x64内核HOOK技术之拦截进程.拦截线程.拦截模块 - iBinary - 博客园 (cnblogs.com)

 在前面的 驱动程序 工程中   添加   监控进程 类   添加后把类自动生成的代码全部删除  成空类   在主文件 中包含 #include "监控进程.h"

监控进程.h  头文件中

#pragma once

void 安装进程监控();  //通过DriverEntry  或者 DeviceIoControl  来安装
void 卸载进程监控();  //通过DriverUnload

监控进程.cpp  实现文件中

#pragma once
#include "监控进程.h"
#include <ntifs.h>
//https://www.cnblogs.com/iBinary/p/8399312.html
//PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
//PsSetCreateProcessNotifyRoutineEx();

NTSTATUS PsSetCreateProcessNotifyRoutine(
    PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,//这是一个回调函数指针
    BOOLEAN );//安装为假,卸载时为真。

//PCREATE_PROCESS_NOTIFY_ROUTINE PcreateProcessNotifyRoutine;
VOID NotifyRoutine( HANDLE ParentId,HANDLE ProcessId,BOOLEAN Create)
{
    if (Create)
    {
      KdPrint(("jw:ParentId = %d ProcessId = %d 进程创建 \r\n", ParentId, ProcessId));
    }
    else {
        KdPrint(("jw:ParentId = %d ProcessId = %d 进程退出 \r\n", ParentId, ProcessId));
    }
}

void 安装进程监控()
{
    PsSetCreateProcessNotifyRoutine(NotifyRoutine, FALSE);
}

void 卸载进程监控()
{
    PsSetCreateProcessNotifyRoutine(NotifyRoutine, TRUE);
}

在 入口函数中 调用    在 卸载驱动 中 卸载 进程监控

//卸载驱动
void Unload(PDRIVER_OBJECT driver)
{//因为参数driver没有使用,会出现警告。
    卸载进程监控();
    //一定要在删除设备前 先删除符号链接
    UNICODE_STRING uzMyLinsName;    //符号链接名字
    RtlInitUnicodeString(&uzMyLinsName, 符号链接名字);//初始化字符串
    IoDeleteSymbolicLink(&uzMyLinsName);
    //删除设备对象
    IoDeleteDevice(driver->DeviceObject);
    KdPrint(("jw:进入卸载例程"));
}

//驱动入口点函数
NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING szReg)
{
    KdPrint(("jw:我的第一个驱动,最简单的驱动+++++++++"));
    KdPrint(("jw:注册路径 = %wZ", szReg));//szReg注册表的路径
    driver->DriverUnload = Unload;//注册卸载例程
    //irp处理
    driver->MajorFunction[IRP_MJ_CREATE] = IRP_PROC;
    driver->MajorFunction[IRP_MJ_DEVICE_CONTROL] = IRP_PROC;
    driver->MajorFunction[IRP_MJ_CLOSE] = IRP_PROC;

    //调用创建驱动设备函数 CreateDevice
    CreateDevice(driver);//创建驱动设备
    安装进程监控();//调用
    return STATUS_SUCCESS;
};//最小的驱动  只有一行代码。

 

posted on 2022-11-21 12:06  悠心不已  阅读(22)  评论(0)    收藏  举报

导航