Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: merry   发起时间: 2009-05-18 15:36 下午   回复: 5

Print Search
帖子排序:    
   2009-05-18, 15:36 下午
merryzhao 离线,最后访问时间: 2017/2/21 12:41:06 merry

发帖数前25位
注册: 2008-09-26
发 贴: 61
有关cm_key_node的问题
Reply Quote
看到一个介绍注册表的文章,提到如下内容:
Quote:
------------------------------------------------------------------------------------------------
lkd> dt _cm_key_node e1032124
nt!_CM_KEY_NODE
   nt!_CM_KEY_NODE
   +0x000 Signature        : 0x6b6e
   +0x002 Flags            : 0x20
   +0x004 LastWriteTime    : _LARGE_INTEGER 0x1c8a59a`913acf5a
   +0x00c Spare            : 0
   +0x010 Parent           : 0x20
   +0x014 SubKeyCounts     : [2] 5
   +0x01c SubKeyLists      : [2] 0x448
   +0x024 ValueList        : _CHILD_LIST
   +0x01c ChildHiveReference : _CM_KEY_REFERENCE
   +0x02c Security         : 0x78
   +0x030 Class            : 0xffffffff
   +0x034 MaxNameLen       : 0x10
   +0x038 MaxClassLen      : 0
   +0x03c MaxValueNameLen : 0
   +0x040 MaxValueDataLen : 0
   +0x044 WorkVar          : 0
   +0x048 NameLength       : 7
   +0x04a ClassLength      : 0
   +0x04c Name             : [1] 0x414d
...
这个键是一个_CM_KEY_NODE结构,ValueList的值就是一个"单元索引",由这个"单元索引"我们可以找到该键的"键值列表单元",有了"键值列表单元",我们就可以找到"键值单元",有了"键值单元",我们就可以找到数据了.
------------------------------------------------------------------------------------------------
Q:请问该如何理解由valuelist找到数据的过程?能否用windbg查看的方式的验证?


IP 地址: 已记录   报告
   2009-05-18, 17:07 下午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 有关cm_key_node的问题
Reply Quote
keynode->(GetCellRoutine)->cell data list->KeyList->GetCellRoutine->cell data
IP 地址: 已记录   报告
   2009-05-18, 17:29 下午
merryzhao 离线,最后访问时间: 2017/2/21 12:41:06 merry

发帖数前25位
注册: 2008-09-26
发 贴: 61
Re: 有关cm_key_node的问题
Reply Quote
MJ0011前辈,你的回复对于我来说太简略了。
能否详细说明一下?
IP 地址: 已记录   报告
   2009-05-18, 17:41 下午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 有关cm_key_node的问题
Reply Quote
自己看CmpFindNameInList
IP 地址: 已记录   报告
   2009-05-18, 19:03 下午
merryzhao 离线,最后访问时间: 2017/2/21 12:41:06 merry

发帖数前25位
注册: 2008-09-26
发 贴: 61
Re: 有关cm_key_node的问题
Reply Quote
----------------------------------------
BOOLEAN
NTAPI
 CmpFindNameInList(
 IN PHHIVE Hive,
 IN PCHILD_LIST ChildList,
 IN PUNICODE_STRING Name,
 IN PULONG ChildIndex,
 IN PHCELL_INDEX CellIndex );
 ----------------------------------------
??
IP 地址: 已记录   报告
   2009-05-18, 20:10 下午
zhukun28 离线,最后访问时间: 2017/2/15 4:10:25 benlong

发帖数前100位
注册: 2008-10-01
发 贴: 11
Re: 有关cm_key_node的问题
Reply Quote
windbg里有一系列!reg命令可以一步步验证
IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 有关cm_key_node的问题

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.