-
-
[旧帖]
[求助]关于 SSDT Hook
0.00雪花
-
-
[旧帖] [求助]关于 SSDT Hook
0.00雪花
各位大大们 小弟新人一枚 问的问题有点小白 请多包涵~
我在替换SSDT中 NtSetInformationFile这个函数地址的时候
首先在SSDT表中查找NtSetInformationFile这个索引的时候按如下这么做的:
UNICODE_STRING strFuncName;
RtlInitUnicodeString(&strFuncName, L"NtSetInformationFile");
pFuncSDT = KeServiceDescriptorTable->ServiceTableBase + *(PULONG)((PUCHAR)MmGetSystemRoutineAddress(&strFuncName) + 1);
DbgPrint("[Info] pFuncSDT: %X\n",pFuncSDT);
系统就蓝屏了, 但是我将RtlInitUnicodeString(&strFuncName, L"NtSetInformationFile");中的L“NtSetInformationFile“换成L“ZwSetInformationFile” 就正常了。
我又用别的方法知道了SSDT表中NtSetInformationFile的索引是0xE0(xp sp2),替换成zw后确实也是这个索引。
我想问为什么用Nt就会蓝屏,而用Zw就能正常工作且跑出来的结果也是0xE0呢?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!