-
-
[求助]拦截驱动加载
-
发表于:
2014-1-24 06:03
4644
-
在做一个程序,hook zwloaddriver来拦截驱动加载,但是碰到个问题,这个函数的原型是:
NTSTATUS
ZwLoadDriver(
IN PUNICODE_STRING DriverServiceName
);
他只有一个参数,代表着驱动的服务名,我是通过读取注册表\Registry\Machine\System\CurrentControlSet\Services\+"DriverServiceName"+\imagepath 来得到驱动文件的路径, 如果imagepath里面是完整的路径,那没什么问题.但是如果注册服务的时候,不填写完整的路径,只填写文件名,比如"test.sys", 然后把test.sys这个文件放在windows或者 system32 文件夹里(不一定是这两个文件夹,只要是环境变量中包含的文件夹),这样的话,驱动也能正常加载,但是读注册表就不能获取到完整的驱动文件路径了.
我能想到的方法只有通过注册表读取用户变量和系统环境变量中的path内容,然后拼接字符串, 判断文件是否存在.
不知道还有没有其他更简单的方法?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)