Windows XP启动时驱动加载顺序调试

Windows XP启动时驱动加载顺序调试:


说明:因为这里的调试采用的是针对IopLoadDriver下断的方法,无法调试到BOOT启动加载的驱动.
=============================================================================
操作系统版本:Windows XP Professional
Version 2002
Service Pack 3


指令内存地址0x8057677c
nt!IopLoadDriver+0x66a    ff572c call dword ptr [edi+2Ch]这是进入DriverEntry的指令

指令返回地址0x8057677c+3字节指令ff572c就是call返回时要出栈的指令地址,即0x8057677f

在此之前先补习补习,以下是网上搜到的关于驱动加载顺序的设置:
------------------------------------------------------------------------------
在系统初始化的时候,决定驱动程序在什么时候被载入的信息保存在注册表中。
最早的一批驱动是由ntldr载入内存的(仅仅是载入)
第二批是由IO管理器载入内存的
第三批是由 SCM(Service Control Manager) 载入的

一个驱动在第几批中被载入是由 HKLM\\SYSTEM\\CurrentControlSet \\Services\\驱动名\\Start 的值来决定。
该值为0,第一批被载入。该值为1,第二批被载入。该值为2,第三批被载入。

对于同一批驱动中的驱动,按驱动所在组的先后载入。
组的先后顺序由 HKLM\\SYSTEM\\CurrentControlSet\\Control \\ServiceGroupOrderList 决定。
每个驱动的 HKLM\\SYSTEM\\CurrentControlSet\\Services\\驱动名\\Group 决定了驱动所属的组,

如果没有这个 Services驱动名Group ,那么就在所有组之后。对于同一个组中的驱动,按驱动的Tag 的先后载入。
Tag的先后顺序由 HKLM\\SYSTEM\\CurrentControlSet\\Control\\GroupOrderList组名决定。
每个驱动的 HKLM\\SYSTEMCurrent\\ControlSet\\Services\\驱动名\\Tag 决定了驱动在组中的Tag。
这个Tag值的大小由驱动安装的先后顺序决定,先安装的Tag值小,后安装的Tag值大。
感吧一句!在Windows中看来注册表真的是一大管家啊,看来以后有机会多研究研究关于注册表的事情。


言归正传
以下是开机时加载的驱动,这里是按加载的顺序列出的。
------------------------------------------------------------------------------
i8042prt!GsDriverEntry <------功能------> PS/2 键盘使用键盘自带的 i8042prt.sys驱动程序
kbdclass!GsDriverEntry <------功能------>  DDK 所附的源码中有 i8042prt 和 kbdclass 的源码,
                                          分别位于 ...\NTDDK\src\input\pnpi8042 ,
                                          ...\NTDDK\src\input\kbdclass 。
---------------------------vmmouse这个应该是虚拟机的驱动程序
mouclass!GsDriverEntry <------功能------>
parport!GsDriverEntry  <------功能------>
serial!GsDriverEntry   <------功能------>
serenum!GsDriverEntry  <------功能------>
fdc!GsDriverEntry      <------功能------>
imapi!GsDriverEntry    <------功能------>
cdrom!GsDriverEntry    <------功能------>
redbook!GsDriverEntry  <------功能------>
---------------------------vmx_svga这个也应该是虚拟机的驱动
usbuhci!GsDriverEntry
---------------------------vmxnet.sys这个也应该是虚拟机的驱动
es1371mp!DriverEntry
usbehci!GsDriverEntry
CmBatt!GsDriverEntry
intelppm.sys
fsvga!DriverEntry
audstub!!DriverEntry
rasl2tp!GsDriverEntry
ndistapi!GsDriverEntry
ndiswan!GsDriverEntry
raspppoe!GsDriverEntry
raspptp!GsDriverEntry
psched!GsDriverEntry
msgpc!GsDriverEntry
ptilink!DriverEntry
raspti!DriverEntry
rdpdr!GsDriverEntry
termdd!GsDriverEntry
swenum!GsDriverEntry
update!GsDriverEntry
mssmbios!GsDriverEntry
NDProxy!GsDriverEntry
flpydisk!GsDriverEntry
usbhub!GsDriverEntry
gameenum!GsDriverEntry
Sfloppy!GsDriverEntry
---------------------------360Box因为安装了解360有这么一个驱动出来
Cdaudio!DriverEntry
Fs_Rec!DriverEntry
Null!DriverEntry
Beep!DriverEtnry
---------------------------360SelfProtection又是360搞的驱动
vga!GsDriverEntry
mnmdd!DriverEntry
RDPCDD!DriverEntry
Msfs!GsDriverEntry
Npfs!GsDriverEntry
rasacd!DriverEntry
ipsec.sys
-----------------------360netmon.sys从这里到下面的tcpip.sys驱动的加载先后顺序我们可以看出来360的网络监控先于系统的tcpip.sys的加载
tcpip!GsDriverEntry
netbt!GsDriverEntry
ws2ifsl!DriverEntry
afd!GsDriverEntry
netbios!GsDriverEntry
-----------------------vmhgfs.sys
rdbss!GsDriverEntry
------------------------qutmipc.sys
------------------------qutmdrv.sys
mrxsmb!GsDriverEntry
------------------------360AntiHacker.sys
Fips!GsDriverEntry
------------------------Efimon.sys
BAPIDRV.SYS
Cdfs!GsDriverEntry    \
                       >这两项驱动在调时发现可能加载的先后顺序也会颠倒一下的
wanarp!GsDriverEntry  /

usbccgp!GsDriverEntry
hidusb!GsDriverEntry
mouhid!DriverEntry

屏幕画面的表现:windows开机画面的Windows XP在此时出现,在加载一些个人设置

wdmaud!DriverEntry
sysaudio!GsDriverEntry
splitter!GsDriverEntry
aec!GsDriverEntry
swmidi!GsDriverEntry
DMusic!GsDriverEntry
kmixer!GsDriverEntry
---------------------------drmkaud.sys

开机画面已过,并出现了桌面


ParVdm!DriverEntry
----------------------------wmmemctl.sys
srv!GsDriverEntry
Fastfat!GsDriverEntry原来文件系统驱动来的这么晚啊!
HTTP!GsDriverEntry

至此,系统已经完全加载运行起来了,同时当你进行计算机操作的时候,
如果是在系统中打开某个硬盘的话,会再次中断下来,些时针对的是kmixer.sys驱动,
针对这些驱动在操作系统的功能作用,以后慢慢的再研究研究.

在上面的驱动列表中我没有发现我们经常关注的ndis.sys驱动被加载,难道是BOOT是就加载了吗?


以后再持续更新!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值