Você pode encontrar muitas informações sobre o Hiberfil.sys
na página do ForensicWiki .
Although most of the data structures required to parse the file format are available in the Microsoft Windows debug symbols, the compression used (Xpress) was undocumented until it was reverse engineered by Matthieu Suiche. He created with Nicolas Ruff a project called Sandman is the only open-source tool that can read and write the Windows hibernation file.
O pdf do projeto Sandman é encontrado aqui .
Os criadores do projeto Sandman também criaram uma ferramenta para despejar a memória e o Hiberfil.sys
-file (e extraí-lo do formato de compactação XPress). MoonSols Windows Memory Toolkit
Alguns dos outros links na página ForensicWiki não funcionam mais, mas aqui está um que eu encontrei: (Se você quer mergulhar direto na estrutura de formatos, você pode usar este recurso. Para o cabeçalho, o primeiro 8192 bytes do arquivo, você não precisa descompactá-los)
Formato de arquivo de hibernação.pdf
Este último PDF e o último link na página do ForensicWiki devem fornecer informações suficientes sobre o estrutura do Hiberfil.sys
.
Hibernation files consist of a standard header (PO_MEMORY_IMAGE), a set of kernel contexts and registers such as CR3 (_KPROCESSOR_STATE) and several arrays of compressed/encoded Xpress data blocks (_IMAGE_XPRESS_HEADER and _PO_MEMORY_RANGE_ARRAY).
The standard header exists at offset 0 of the file and is shown below. Generally, the Signature member must be either "hibr" or "wake" to be considered valid, however in rare cases the entire PO_MEMORY_IMAGE header has been zeroed out, which can prevent analysis of the hibernation file in most tools. In those cases, volatility will use a brute force algorithm to locate the data it needs.
As referências nesses documentos devem fornecer muitas outras fontes para explorar também.