NDIS HOOK一个忽略的问题
网上有不少介绍NDIS HOOK的文章,但是有一个细节问题都没有介绍,对于我等菜鸟来说照着他的例子写一遍但是为什么我得就HOOK不成功呢?经过本人一个五一假期的尝试,终于找到了我所犯的弱智的错误。
1、如果你向调用其他简单驱动那样加载驱动程序,那我告诉你,你能加载成功,但是程序是不能执行的。
首先我们来看一下windows的启动方式:
1、一般的windows系统服务在注册表的HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices下面
我们主要注意下面一个键值:START的值,它是一个十六进制值
其中一般对应的启动方式 0 --自动 优先级最高,会作为操作系统自身的服务加载,最先启动 例如NDIS.SYS
1--自动优先级次之,但也是操作系统的关键服务 例如TCPIP.SYS
2--自动启动,但是优先级稍低
3--手动启动
4--已禁用的启动方式
2、为什么我得老是HOOK不上了
对了,就是我把启动次序设错了,我们应该在NDIS.SYS启动后,TCPIP.SYS启动前加载,所以我们NDIS HOOK的驱动程序应该将启动方式设为0
3、更多补充中