首页
社区
课程
招聘
[求助]拦截驱动加载
发表于: 2014-1-24 06:03 4534

[求助]拦截驱动加载

2014-1-24 06:03
4534
在做一个程序,hook zwloaddriver来拦截驱动加载,但是碰到个问题,这个函数的原型是:

NTSTATUS
ZwLoadDriver(
IN PUNICODE_STRING DriverServiceName
);

他只有一个参数,代表着驱动的服务名,我是通过读取注册表\Registry\Machine\System\CurrentControlSet\Services\+"DriverServiceName"+\imagepath 来得到驱动文件的路径, 如果imagepath里面是完整的路径,那没什么问题.但是如果注册服务的时候,不填写完整的路径,只填写文件名,比如"test.sys", 然后把test.sys这个文件放在windows或者 system32 文件夹里(不一定是这两个文件夹,只要是环境变量中包含的文件夹),这样的话,驱动也能正常加载,但是读注册表就不能获取到完整的驱动文件路径了.

我能想到的方法只有通过注册表读取用户变量和系统环境变量中的path内容,然后拼接字符串, 判断文件是否存在.

不知道还有没有其他更简单的方法?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
不用hook做不了事情么……更何况加载驱动人家未必走loaddriver
2014-1-24 07:29
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
看别人是hook  MmLoadSystemImage
2014-1-24 09:00
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
直接一个LoadImage回调,里面PATCH掉驱动PE也可以
2014-1-24 09:33
0
游客
登录 | 注册 方可回帖
返回
//