-
-
[分享]很有时间系列:解决noimage驱动注册Minifilter的问题
-
发表于:
2018-4-30 15:42
8211
-
[分享]很有时间系列:解决noimage驱动注册Minifilter的问题
解决一个实际工作中遇到的一个小问题:
Noimage中注册minifilter
首先注册miniflt需要一个DriverObject,如果是复用别人的DriverObject是会导致很多问题。
所以需要一个新Driverobject,这就需要借助ntos导出的无文档的IoCreateDriver来完成。
值得注意我们需要一个有名字的DriverObejct(没名字不好用的哦)
如何获得随机的DriverObject的name可以使用ExUuidCreate
接着就是在新的DriverEntry里工作了
兴高采烈使用新的DriverObject去 注册Minifilt使用FltRegisterFilter返回0xC000009A失败
拿出IDA开始研究问题(系统为x64的10.0.16299.402)
发现FltpGetInstanceAltitude作的鬼
进步一分析发现FltpOpenInstancesRegistryKey失败
继续进去,看到是在
打开注册表失败,此时F5分析一波
原来是打开服务的注册表,那么只要创建这个注册表就可以咯,去上一层看是怎么得到source这个东西的
从DriverObject->DriverExtension->ServiceKeyName提取。
这时候我们去MyDriverEntry打印一波看看我们的名字是什么样子,然后把对应注册表写入就好了(注册完再删除就ok)。
可以看到输出了

这样的字符,这样子就很明了。
这样的字符,这样子就很明了。
写代码处理::
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课