yvqvan
驱动牛犊
驱动牛犊
  • 注册日期2008-10-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望362点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2717回复:2

请教ZwQuerySystemInformation中的SystemInformation参数

楼主#
更多 发布于:2009-04-06 09:27
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 *,没弄明白!
webxeyes
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2010-07-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望92点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-08-31 09:53
第二点,问题是指针的加减
webxeyes
dreamsity
驱动小牛
驱动小牛
  • 注册日期2006-09-01
  • 最后登录2013-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望821点
  • 贡献值1点
  • 好评度68点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2009-11-25 20:12
看WRK,里面有具体的实现。
一切都是时间问题!
游客

返回顶部