|
发表于 2017-5-30 13:11:35
|
显示全部楼层
你说的SHADOW表,是指向SSSDT的PSYSTEM_SERVICE_TABLE类型的变量吧。
不知道你代码怎么写的,一般在KeServiceDescriptorTable的正负PAGE_SIZE范围内暴力搜索一下即可。
- PUCHAR p=NULL;
- PSYSTEM_SERVICE_TABLE KeServiceDescriptorTableWIN32K=NULL;
- for(p=(PUCHAR)KeServiceDescriptorTable-PAGE_SIZE; p<(PUCHAR)KeServiceDescriptorTable+PAGE_SIZE; p++)
- {
- if(p!=(PUCHAR)KeServiceDescriptorTable)
- {
- if(memcmp(p, KeServiceDescriptorTable, sizeof(SYSTEM_SERVICE_TABLE))==0)
- {
- KeServiceDescriptorTableWIN32K = (PSYSTEM_SERVICE_TABLE)(p + sizeof(SYSTEM_SERVICE_TABLE));
- break;
- }
- }
- }
复制代码 |
|