• 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。比如:

  • 相关阅读:
    MySQL行级锁和表级锁
    轮询、长轮询、长连接、socket连接、WebSocket
    Http请求的TCP连接
    TCP的三次握手和四次挥手
    面试:做过sql优化吗?
    Java线程池
    C#代码审查工具 StyleCop
    C#中图片切割,图片压缩,缩略图生成的代码
    一个对称加密、解密的方法C#工具类
    C# 音频操作系统项目总结
  • 原文地址:https://www.cnblogs.com/yilang/p/13891906.html
Copyright © 2020-2023  润新知