阅读:1638回复:11
ndis.sys的基址两次不相同
昨天初始化mydriver.sys时候,ndis.sys的基址是0xbfec5000
由于系统问题,我今天重新安装了系统,取得ndis.sys的基址是0xf9d0000. 两次系统都是安装同一张盘。只不过是前一次系统的文件格式是ntfs的,现在是fat32的。 并且现在我的驱动不能系统自动装载了 驱动装载注册表如下 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\mydriver] \"Type\"=dword:00000001 \"Start\"=dword:00000000 \"ErrorControl\"=dword:00000001 \"ImagePath\"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\\ 72,00,69,00,76,00,65,00,72,00,73,00,5c,00,4a,00,50,00,61,00,63,00,6b,00,65,\\ 00,74,00,33,00,32,00,2e,00,73,00,79,00,73,00,00,00 \"DisplayName\"=\"mydriver\" \"Group\"=\"NDIS Wrapper\" \"DependOnService\"=hex(7):4e,00,44,00,49,00,53,00,00,00,00,00 \"DependOnGroup\"=hex(7):00,00 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\mydriver\\Security] \"Security\"=hex:01,00,14,80,a0,00,00,00,ac,00,00,00,14,00,00,00,30,00,00,00,02,\\ 00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\\ 00,00,02,00,70,00,04,00,00,00,00,00,18,00,fd,01,02,00,01,01,00,00,00,00,00,\\ 05,12,00,00,00,08,08,08,08,00,00,1c,00,ff,01,0f,00,01,02,00,00,00,00,00,05,\\ 20,00,00,00,20,02,00,00,b9,fc,82,f8,00,00,18,00,8d,01,02,00,01,01,00,00,00,\\ 00,00,05,0b,00,00,00,20,02,00,00,00,00,1c,00,fd,01,02,00,01,02,00,00,00,00,\\ 00,05,20,00,00,00,23,02,00,00,b9,fc,82,f8,01,01,00,00,00,00,00,05,12,00,00,\\ 00,01,01,00,00,00,00,00,05,12,00,00,00 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\mydriver\\Enum] \"0\"=\"Root\\\\LEGACY_MYDRIVER\\\\0000\" \"Count\"=dword:00000001 \"NextInstance\"=dword:00000001 WHY???????? |
|
沙发#
发布于:2002-11-12 20:40
你的驱动干什么要得到ndis的基地址?而且还要写死,不能在运行的时候去获取这个地址吗?
|
|
板凳#
发布于:2002-11-12 22:29
我是想HOOK到NDIS.sys的函数,我现在只知道装载我的驱动才能hook到函数,为什么两次的函数基址不同呢,我刚才在另一台机子上测试,ndis.sys的基址为0xbfef0000
为什么我的驱动装载不了呢? |
|
地板#
发布于:2002-11-13 00:07
我是想HOOK到NDIS.sys的函数,我现在只知道装载我的驱动才能hook到函数,为什么两次的函数基址不同呢,我刚才在另一台机子上测试,ndis.sys的基址为0xbfef0000 那ndis.sys的基地址可以在运行的时候得到的阿,为什么要写成一个常量呢? |
|
地下室#
发布于:2002-11-13 10:05
对,在运行的时候是可以得到ndis.sys基地址,但是运行的时候hook不到ndis.sys里面的函数,你能在运行的时候hook到ndis.sys里面的函数吗?请教一下
|
|
5楼#
发布于:2002-11-13 10:23
当然能拉,只要你的驱动紧跟在ndis.sys启动之后起来,就不会有问题。
|
|
6楼#
发布于:2002-11-13 10:25
你可以到网络安全版里面下载我写的noname防火墙的源代码看看,驱动写好以后,也就是一个加载次序的问题。
|
|
7楼#
发布于:2002-11-13 10:47
谢谢
我的注册表就是为了紧接ndis.sys驱动启动后,加载我的驱动。 这次装的系统就是加载不上,我的注册表写的对吗? |
|
8楼#
发布于:2002-11-13 12:49
谢谢 你怎么写的? |
|
9楼#
发布于:2002-11-13 14:43
谢谢 你到底是怎么写的? |
|
10楼#
发布于:2002-11-14 14:32
注册表代码如下:行吗
schService = CreateService( SchSCManager, DriverName, DriverName, SERVICE_ALL_ACCESS, SERVICE_BOOT_START, SERVICE_ERROR_NORMAL, PathName, \"NDIS Wrapper\", NULL, \"NDIS\", NULL, NULL ); 为什么两个系统的ndis.sys的基地址相差这么大呢 |
|
11楼#
发布于:2002-11-14 17:21
看不大出来。你把我的noname 防火墙的注册表文件改改倒进去看看呢?
|
|