zoukankan      html  css  js  c++  java
  • ZwQuerySystemInformation枚举内核模块

    在内核中通过调用此函数来枚举windows系统中已经加载的内核模块。

    NTSTATUS 
    ZwQuerySystemInformation (
        SYSTEM_INFORMATION_CLASS SystemInformationClass, 
        PVOID SystemInformation, 
        ULONG SystemInformationLength, 
        ULONG *ReturnLength);
    

    当参数SystemInformatioClass的值为SystemModuleInformation(0xB)时其会得到当前系统中所加载的所有的系统模块。

    struct  RTL_PROCESS_MODULES
    {
        ULONG NumberOfModules;
        RTL_PROCESS_MODULE_INFORMATION Modules [ANYSIZE_ARRAY];
    };
    

    SystemInformation参数所指向的缓冲区会接收到一个RTL_PROCESS_MODULES结构,NumberOfModules为函数枚举到的系统模块的数目。而Modules指向一个RTL_PROCESS_MODULE_INFORMATION结构体数组,这个结构体中保存着各个模块的具体信息。

    struct  RTL_PROCESS_MODULE_INFORMATION
    {
        PVOID Section;
        PVOID MappedBase;
        PVOID ImageBase;            //映射基地址
        ULONG ImageSize;            //映射大小
        ULONG Flags;
        USHORT LoadOrderIndex;
        USHORT InitOrderIndex;
        USHORT LoadCount;
        USHORT ModuleNameOffset;
        CHAR FullPathName [0x0100];  //模块路径名称
    };
    

    而且得到RTL_PROCESS_MODULE_INFORMATION结构体数组的第一项一直都是ntoskrnl.exe模块

  • 相关阅读:
    14-补充内容:MySQl创建用户和授权
    15-可视化工具Navicat的使用
    11-数据的增删改
    12-单表查询
    09-完整性约束
    10-外键的变种 三种关系
    07-数据类型
    08-数据类型(2)
    Mysql 基本语法
    E. K-periodic Garland
  • 原文地址:https://www.cnblogs.com/revercc/p/14647982.html
Copyright © 2011-2022 走看看