idioson
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2002-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1638回复:11

ndis.sys的基址两次不相同

楼主#
更多 发布于:2002-11-12 18:54
昨天初始化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????????
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
沙发#
发布于:2002-11-12 20:40
你的驱动干什么要得到ndis的基地址?而且还要写死,不能在运行的时候去获取这个地址吗?
idioson
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2002-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-12 22:29
我是想HOOK到NDIS.sys的函数,我现在只知道装载我的驱动才能hook到函数,为什么两次的函数基址不同呢,我刚才在另一台机子上测试,ndis.sys的基址为0xbfef0000

为什么我的驱动装载不了呢?
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
地板#
发布于:2002-11-13 00:07
我是想HOOK到NDIS.sys的函数,我现在只知道装载我的驱动才能hook到函数,为什么两次的函数基址不同呢,我刚才在另一台机子上测试,ndis.sys的基址为0xbfef0000

为什么我的驱动装载不了呢?

那ndis.sys的基地址可以在运行的时候得到的阿,为什么要写成一个常量呢?
idioson
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2002-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-13 10:05
对,在运行的时候是可以得到ndis.sys基地址,但是运行的时候hook不到ndis.sys里面的函数,你能在运行的时候hook到ndis.sys里面的函数吗?请教一下
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
5楼#
发布于:2002-11-13 10:23
当然能拉,只要你的驱动紧跟在ndis.sys启动之后起来,就不会有问题。
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
6楼#
发布于:2002-11-13 10:25
你可以到网络安全版里面下载我写的noname防火墙的源代码看看,驱动写好以后,也就是一个加载次序的问题。
idioson
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2002-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-13 10:47
谢谢
我的注册表就是为了紧接ndis.sys驱动启动后,加载我的驱动。
这次装的系统就是加载不上,我的注册表写的对吗?
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
8楼#
发布于:2002-11-13 12:49
谢谢
我的注册表就是为了紧接ndis.sys驱动启动后,加载我的驱动。
这次装的系统就是加载不上,我的注册表写的对吗?

你怎么写的?
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
9楼#
发布于:2002-11-13 14:43
谢谢
我的注册表就是为了紧接ndis.sys驱动启动后,加载我的驱动。
这次装的系统就是加载不上,我的注册表写的对吗?

你到底是怎么写的?
idioson
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2002-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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的基地址相差这么大呢
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
11楼#
发布于:2002-11-14 17:21
看不大出来。你把我的noname 防火墙的注册表文件改改倒进去看看呢?
游客

返回顶部