hur.cn - 华软网

 热门搜索

VC++如何编写拦截驱动加载?

  作者:未知    来源:网络    更新时间:2011/3/30
我看到安全软件 狙剑V5.0.2.0 他有主动防御 不过什么都拦截并提示

比如我打开了狙剑 然后再打开360 它其中提示:

>进程:
xxx
>要求加载驱动:
System32\Driver\Hookport.sys

这是怎么实现的? 我也想模仿下它  求老鸟指示下
---华软 网友回答---
HOOK
---华软网友回复---
Hook 加载文件的API等,
---华软网友回复---
引用 2 楼 oyljerry 的回复:
Hook 加载文件的API等,
加载驱动的API有那些呢? 请问下 呵呵 我菜没法子啦
---华软网友回复---
一般都是 hook 实现的拦截 吧
---华软网友回复---
我是用这一系列的函数 OpenService

看看MSDN
---华软网友回复---
HOOK CreateService ??
---华软网友回复---
引用 6 楼 visualeleven 的回复:
HOOK CreateService ??

赐一段代码吧?
---华软网友回复---
引用 6 楼 visualeleven 的回复:
HOOK CreateService ??
赐段代码吧? 我小菜鸟一个.. 只会钩住键盘鼠标
---华软网友回复---

100分不容易啊 UP一下

求老鸟指示下 HOOK OpenService
---华软网友回复---
ring3是做不到的,都是在驱动层实现的.
---华软网友回复---
驱动,是底层的东西吧,或者能不能找到相关服务,或者进程,检查他们的状态?
---华软网友回复---
问题是驱动的加载方式不止一种,创建服务加载驱动只是其中的一种.
就算加载驱动的方式是创建服务来加载的,ring3里HOOK也麻烦.
不可能每个进程都注入个DLL来HOOK CreateService()函数的.


---华软网友回复---
SSDT Hook ZwLoadDriver

点这里查看代码
---华软网友回复---
加载驱动都会经过NtLoadDriver

用StartService运行驱动程序也是给services.exe发个信息要他调用NtLoadDriver
因此hook NtLoadDriver是正确的选择
---华软网友回复---
  class="deleted_message"> 该回复于2011-04-02 10:38:11被版主删除
---华软网友回复---
引用 14 楼 lactoferrin 的回复:
加载驱动都会经过NtLoadDriver

用StartService运行驱动程序也是给services.exe发个信息要他调用NtLoadDriver
因此hook NtLoadDriver是正确的选择


同意
---华软网友回复---
借楼主宝地,学习。
---华软网友回复---
我现在得不到 是谁通知了services进程加载驱动?求思路
---华软网友回复---
已经搞定…精确判断      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。