• Dump文件数据存储格式(八)


    十、已卸载模块列表流(UnloadedModuleListStream)

    UnloadedModuleListStream流包含卸载模块的模块信息。跟随在ModuleListStream的后面。ModuleListStream相关信息如下:

    0x29c0+0n26680=0x91f8

    UnloadedModuleListStream相关信息如下:

    可知,UnloadedModuleListStream的RVA为0x91f8,所以它紧随在ModuleListStream的后面,大小为324字节。数据如下:

    这些数据按如下结构组织:

    首先是相当于头结构的_MINIDUMP_UNLOADED_MODULE_LIST,包含流的一些数据量

    typedef struct _MINIDUMP_UNLOADED_MODULE_LIST {
      ULONG32 SizeOfHeader;
      ULONG32 SizeOfEntry;
      ULONG32 NumberOfEntries;
    } MINIDUMP_UNLOADED_MODULE_LIST, *PMINIDUMP_UNLOADED_MODULE_LIST;

    成员如下:

    SizeOfHeader

    流的头数据的大小,以字节为单位。这通常是sizeof(MINIDUMP_UNLOADED_MODULE_LIST)。

    SizeOfEntry

    头后面的每个条目的大小(以字节为单位)。这通常是sizeof(MINIDUMP_UNLOADED_MODULE)。

    NumberOfEntries

    流中的条目数。这些通常是MINIDUMP_UNLOADED_MODULE结构。条目跟随头部。

    而MINIDUMP_UNLOADED_MODULE包含模块的相关信息,结构如下:

    typedef struct _MINIDUMP_UNLOADED_MODULE {
      ULONG64 BaseOfImage;
      ULONG32 SizeOfImage;
      ULONG32 CheckSum;
      ULONG32 TimeDateStamp;
      RVA     ModuleNameRva;
    } MINIDUMP_UNLOADED_MODULE, *PMINIDUMP_UNLOADED_MODULE;

    成员如下:

    BaseOfImage

    内存中模块可执行映像的基址。

    SizeOfImage

    内存中模块可执行映像的大小,以字节为单位。

    CheckSum

    模块可执行映像的校验和值。

    TimeDateStamp

    模块可执行映像的时间戳值,采用time_t格式。

    ModuleNameRva

    指定模块名称的MINIDUMP_STRING结构的RVA。比如:

  • 相关阅读:
    嵌套循环
    for循环
    while循环
    switch多选择结构
    python9--内存管理 引用计数 标记清除 分代回收
    python8--文件操作 with。。。open语法
    python7 数据类型的相互转化 字符编码
    python6-深浅拷贝 元组类型 字典类型 集合类型
    python5 数字类型 字符串类型 列表类型
    python4 分支结构,循环结构 for循环
  • 原文地址:https://www.cnblogs.com/yilang/p/13891906.html
Copyright © 2020-2023  润新知