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模块

  • 相关阅读:
    leetcode 63 简单题
    leetcode 712
    500 问的数学基础
    转载一份kaggle的特征工程:经纬度、特征构造、转化率
    散度
    在线学习在CTR上应用的综述
    广告的计费方式
    矩阵2范数与向量2范数的关系
    text_CNN笔记
    F1
  • 原文地址:https://www.cnblogs.com/revercc/p/14647982.html
Copyright © 2011-2022 走看看