I am having a problem when I try to view some memory regions, specifically when I try to view the Win32p entry in the Service Descriptor Table Shadow. If I execute the following command: “dds poi(KeServideDescriptorTableShadow+10) L10” I get nothing, just ??.
If I change to a user thread with: “.thread /p /r xxx” the previous command works fine. Why is that happening?
i am not sure what you term as win32p entry and google doesn’t return
anything with that keyword except for some viruses branded so
also i assume it is service and not servide
i go with win32k and if it is so
you would need to be in a process that has win32k loaded
for the service table entries to be loaded
like !process 0 0 Explorer.exe
.process /p <_EPROCESS> of explorer.exe
dds poi(KeServiceDescriptorTableShadow+10) L10
if you are in a process context which loads win32k.sys and use .reload
/f win32k.sys
your command will provide the symbolic names too
On 10/30/12, xxxxx@gmail.com wrote: > Hello! > > I am having a problem when I try to view some memory regions, specifically > when I try to view the Win32p entry in the Service Descriptor Table Shadow. > If I execute the following command: “dds > poi(KeServideDescriptorTableShadow+10) L10” I get nothing, just ??. > > If I change to a user thread with: “.thread /p /r xxx” the previous command > works fine. Why is that happening? > > Thank you! > > — > WINDBG is sponsored by OSR > > For our schedule of WDF, WDM, debugging and other seminars visit: > http://www.osr.com/seminars > > To unsubscribe, visit the List Server section of OSR Online at > http://www.osronline.com/page.cfm?name=ListServer >
All you have said works perfectly, but I still wonder why I have to change to a user process which has win32k loaded. AFAIK the Service Descriptor Tables are stored in kernel memory, am I wrong?