阅读:2717回复:2
请教ZwQuerySystemInformation中的SystemInformation参数
NTSTATUS NewZwQuerySystemInformation(
IN ULONG SystemInformationClass, IN PVOID SystemInformation, IN ULONG SystemInformationLength, OUT PULONG ReturnLength) }这里的SystemInformation是一个PVOID的指针,在实现进程隐藏的时候,有如下的形式: 1.struct _SYSTEM_PROCESS *current = (struct _SYSTEM_PROCESS *)SystemInformation; 2.(char *)SystemInformation += current->NextEntryDelta; 3.struct _SYSTEM_PROCESS_TIMES *times = (struct _SYSTEM_PROCESS_TIMES *)SystemInformation; 对于第一点和第三点,具有相同的疑问:SystemInformation中的信息到底有哪些?SystemInformationClass == 5的时候,它的SystemInformation具体指什么?顺便乱赋给一个变量都可以么?高手指点下, SystemInformation的具体信息在哪里可以查到? 第二点和其他2条差不多,NextEntryDelta是一个ULONG的变量,表示的下一个进程的偏移量;SystemInformation是一个指针,它和一个ULONG型的相加,如果也是一个ULONG型的,强制变换成char *,没弄明白! |
|
沙发#
发布于:2009-08-31 09:53
第二点,问题是指针的加减
|
|
|
板凳#
发布于:2009-11-25 20:12
看WRK,里面有具体的实现。
|
|
|