-
-
[讨论]学习SSDT,第二个表项的值的问题--SYSTEM_SERVICE_TABLE win32k; //win32k.sys的服务函数[解决]
-
发表于:
2011-10-25 16:24
4983
-
[讨论]学习SSDT,第二个表项的值的问题--SYSTEM_SERVICE_TABLE win32k; //win32k.sys的服务函数[解决]
先什么都不说,下面是从百度贴过来的系统描述符表的定义,也就是说有4个表项.现在大家用的很多也,讨论的很多的第一个表项基本没有问题了.能够看到其值是多少.但是
第二个表项的什为什么会一直是0呢?
[第三,四个表项是没有用到了,是零肯定没能问题]
typedef struct _SERVICE_DESCRIPTOR_TABLE
{
SYSTEM_SERVICE_TABLE ntoskrnel; //ntoskrnl.exe的服务函数
[COLOR="red"]SYSTEM_SERVICE_TABLE win32k; //win32k.sys的服务函数,(gdi.dll/user.dll的内核支持)[/COLOR]
SYSTEM_SERVICE_TABLE NotUsed1;
SYSTEM_SERVICE_TABLE NotUsed2;
}SYSTEM_DESCRIPTOR_TABLE,*PSYSTEM_DESCRIPTOR_TABLE;
现在看一下windbg的输出:
kd> dd keservicedescriptortable
80553180 80502030 00000000 0000011c 805024a4
[COLOR="Red"][B]80553190 00000000 00000000 00000000 00000000[/B][/COLOR]
805531a0 00000000 00000000 00000000 00000000
805531b0 00000000 00000000 00000000 00000000
805531c0 00002710 bf80da45 00000000 00000000
805531d0 f7aeaa80 f72589e0 861a17c0 806e0f40
805531e0 00000000 00000000 3190a304 00000000
805531f0 f6259544 01cc92ea 00000000 00000000
可以看到第二个表项是一直是零是为什么呢?.
还有一个keservicedescriptortableShadow与它又是什么关系?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)