【问题标题】:Minispy driver - user mode callMinispy 驱动程序 - 用户模式调用
【发布时间】:2016-12-22 22:42:51
【问题描述】:

花了几个小时安装驱动程序后,我开始研究 minispy 司机:

Windows-driver-samples/filesys/miniFilter/minispy/

我正在尝试捕捉用户打开文件的所有调用。我试图用它打印的所有参数(如 Opr、Major Operation...)来执行此操作,但我无法以精确的方式对其进行过滤。

如何仅过滤用户调用(打开文件)? 如果用户调用了事务,我如何在代码中确定?

非常感谢您的帮助。

【问题讨论】:

    标签: driver kmdf usercall


    【解决方案1】:

    寻找FLT_CALLBACK_DATA.RequestorMode - 如果你使用微过滤器。

    【讨论】:

    • 感谢您的回答。看来这就是我要找的东西。问题是,它似乎总是 NULL,因为我试图打印它的值但没有显示: if (Data->RequestorMode) { DbgPrint("mode %d\n", Data->RequestorMode); } 也许我用错了?
    • 编辑:它总是打印我猜是内核模式的值 1?
    • @user3449011 - 0 这个 KernelMode 和 1 是 UserMode - 查看 wdm.h enum MODE 。如果你使用代码 - if (Data->RequestorMode) { DbgPrint("mode %d\n", Data->RequestorMode); } 当然总是打印 1. 删除 if (Data->RequestorMode) 声明
    • 是的,我将其更改为:if(Data->RequestorMode != NULL)。但它仍然总是 1。即使我打开一个文本文件(例如)我想它应该打印 0。我错了吗?
    • @user3449011 - 你知道 c/c++ 吗?你明白你的if 声明是做什么的吗?
    猜你喜欢
    • 1970-01-01
    • 2019-04-04
    • 2013-03-16
    • 2018-05-07
    • 2020-09-24
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多