阅读:1296回复:9
大家觉得hook一个驱动程序的sys文件中的例程,可行吗?
问题应该是寻址。
《windows internals》的书,我暂时来不及看了。先请问个大概。大虾说说思路就行了。 |
|
|
驱动老牛
![]() |
沙发#
发布于:2005-02-24 18:11
可以HOOK其IRP的处理
|
|
板凳#
发布于:2005-02-24 19:01
写一个Filter程式,加在驱动的上面拦截IRP。
|
|
地板#
发布于:2005-02-25 09:07
当染可以了.但在完成例程要注意些,你需要在IRP里检测上层驱动的完成例程,然后保存到你自己的完成例程里,处理好以后,再调用原来的完成例程.
|
|
|
地下室#
发布于:2005-02-25 09:32
问题应该是寻址。 要hook直接处理IRP的例程相当于写过滤驱动,要hook驱动内部的未输出的例程,恐怕就南极了 |
|
|
5楼#
发布于:2005-02-25 10:39
要hook直接处理IRP的例程相当于写过滤驱动,要hook驱动内部的未输出的例程,恐怕就南极了 sys的例程地址是存储在DriverObject里头的,不就相当于输出了吗? 其实我觉得应该可以去hook IoCallDriver或者类似的函数,我还得仔细研究一下,不可贸然出手。 |
|
|
6楼#
发布于:2005-03-01 11:26
[quote] 要hook直接处理IRP的例程相当于写过滤驱动,要hook驱动内部的未输出的例程,恐怕就南极了 sys的例程地址是存储在DriverObject里头的,不就相当于输出了吗? 其实我觉得应该可以去hook IoCallDriver或者类似的函数,我还得仔细研究一下,不可贸然出手。 [/quote] 的确可以,我以前做过个例子,用来hook IoCallDriver,加载后用DBGMON可以看到一些相关信息...... |
|
|
7楼#
发布于:2005-03-01 16:25
的确可以,我以前做过个例子,用来hook IoCallDriver,加载后用DBGMON可以看到一些相关信息...... 何不把源码拿出来? |
|
8楼#
发布于:2005-04-15 10:43
的确可以,我以前做过个例子,用来hook IoCallDriver,加载后用DBGMON可以看到一些相关信息...... 我已经做出来了,谢谢老大的帮助。 :) |
|
|
9楼#
发布于:2005-04-15 12:00
怎么不考虑修改引入表或者函数上入口点呢?
|
|
|