如何读取 Windows 休眠文件 (hiberfil.sys) 以提取数据?

cod*_*der 8 windows hibernate libraries

我需要通过解析来找出休眠文件中存储了哪些数据。但是,到目前为止,我只能通过在十六进制编辑器中打开它然后在其中搜索字符串来手动执行此操作。

我了解了SandMan 库,但没有任何资源。知道如何读取文件吗?或者是否有任何工具/库或其他方法可以这样做?

Rik*_*Rik 7

您可以Hiberfil.sysForensicWiki 页面上找到很多关于 的信息。

尽管解析文件格式所需的大多数数据结构在 Microsoft Windows 调试符号中都可用,但所使用的压缩 (Xpress) 在被 Matthieu Suiche 逆向工程之前一直没有记录。他与 Nicolas Ruff 创建了一个名为Sandman的项目,它是唯一可以读写 Windows 休眠文件的开源工具。

Sandman 项目的 pdf 可在此处找到。

Sandman 项目的创建者还创建了一个工具来转储内存和Hiberfil.sys文件(并从 XPress 压缩格式中提取)。MoonSols Windows 内存工具包

ForensicWiki 页面上的一些其他链接不再有效,但我发现这里有一个:(如果您想直接深入了解格式结构,您可以使用此资源。对于标题,文件的前 8192 字节文件,您不需要解压缩它们)

休眠文件格式.pdf

最后一个 PDF 和ForensicWiki 页面上的最后一个链接应该为您提供有关Hiberfil.sys.

休眠文件由标准头 (PO_MEMORY_IMAGE)、一组内核上下文和寄存器(例如 CR3 (_KPROCESSOR_STATE))和几个压缩/编码的 Xpress 数据块数组(_IMAGE_XPRESS_HEADER 和 _PO_MEMORY_RANGE_ARRAY)组成。

标准头文件位于文件的偏移 0 处,如下所示。通常,签名成员必须是“hibr”或“wake”才能被视为有效,但在极少数情况下,整个 PO_MEMORY_IMAGE 标头已被清零,这会阻止在大多数工具中分析休眠文件。在这些情况下,波动率将使用蛮力算法来定位它需要的数据。

这些文档中的参考资料也应该为您提供大量其他资源供您探索。