-
-
求助关于SSDT的有关问题
-
发表于:
2010-10-8 01:14
3590
-
第一个问题:
比如说我要hook ZwQuerySystemInformation这个函数,先要
_declspec(dllimport)
NTSTATUS
ZwQuerySystemInformation (
ULONG SystemInformationClass,
PVOID SystemInformation,
ULONG SystemInformationLength,
PULONG ReturnLength );
这样导出,我不明白的是为什么还要定义下面这个函数原型
typedef NTSTATUS (*ZWQUERYSYSTEMINFORMATION) (
ULONG SystemInformationClass,
PVOID SystemInformation,
ULONG SystemInformationLength,
PULONG ReturnLength );
ZWQUERYSYSTEMINFORMATION OldZwQuerySystemInformation;
第二个问题:
在保存原函数的地址时,是这么写的:
OldZwQuerySystemInformation = (ZWQUERYSYSTEMINFORMATION)(SYSTEMSERVICE(ZwQuerySystemInformation));
我在DebugView里输出看了一下,SYSTEMSERVICE(ZwQuerySystemInformation)的结果和OldZwQuerySystemInformation是一样的,那么为什么前面还要加上(ZWQUERYSYSTEMINFORMATION)呢?
恳请高手们指导一下,在此谢谢了!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课