A forum for reverse engineering, OS internals and malware analysis 

Forum for discussion about kernel-mode development.
 #22952  by myid
 Thu May 22, 2014 7:15 am
There is a corresponding relationship between the ObjectType and Struct:
PsProcessType -> EPROCESS
PsThreadType -> ETHREAD
IoFileObjectType -> FILE_OBJECT
CmKeyObjectType -> ???
 #22954  by myid
 Thu May 22, 2014 8:58 am
EP_X0FF wrote:Pointer to OBJECT_TYPE
Not this one.
Is a struct exist like FILE_OBJECT for CmKeyObjectType? Which struct include many information of RegKey. Like KeyName,KeyPath etc...
 #22955  by EP_X0FF
 Thu May 22, 2014 9:07 am
CM structures like CM_KEY_NODE, CM_KEY_VALUE and other CM_* are private and not accessible directly and Windows operates with them only from kernel private API. So answer is no.
 #22964  by Vrtule
 Thu May 22, 2014 5:26 pm
Hello,

I think you are searching for CM_KEY_BODY. As EP already said, the structure is not documented and may change (and definitely does so) accross various Windows versions. If you want to see more of it, use the following WinDbg command:
Code: Select all
dt nt!_CM_KEY_BODY
Some structures, EHTREAD and EPROCESS for example, are just opaque ones. They their pointers are publicly declared as void pointers AFAIR so you get no additional information here. The situation is similar to the CM_KEY_BODY case.