Skip to main content

A Cross-Platform C++ parser library for Windows kernel minidumps.

Project description

Python building for kdmp-parser

Code style: black Licence MIT

This C++ library parses Windows kernel full dumps (.dump /f in WinDbg) as well as BMP dumps (.dump /ka in WinDbg).

parser

The library supports loading 64-bit dumps and provides read access to things like:

  • The context record,
  • The exception record,
  • The bugcheck parameters,
  • The physical memory.

The Python bindings were authored by hugsy & masthoon. Refer to the project page on Github for documentation, issues and pull requests.

Installing from PyPI

The easiest way is simply to:

pip install kdmp_parser

Examples

Get context, print the program counter

import kdmp_parser
dmp = kdmp_parser.KernelDumpParser("full.dmp")
assert dmp.type == kdmp_parser.DumpType.FullDump
ctx = dmp.context
print(f"Dump RIP={ctx.Rip:#x}")

Read a virtual memory page at address pointed by RAX

import kdmp_parser
dmp = kdmp_parser.KernelDumpParser("full.dmp")
dmp.read_virtual_page(ctx.Rax)

Explore the physical memory

import kdmp_parser
dmp = kdmp_parser.KernelDumpParser("full.dmp")
pml4 = dmp.directory_table_base
print(f"{pml=:#x}")
dmp.read_physical_page(pml4)

Translate a virtual address into a physical address

import kdmp_parser
dmp = kdmp_parser.KernelDumpParser("full.dmp")
VA = dmp.Rip
PA = dmp.translate_virtual(VA)
print(f"{VA=:#x} -> {PA=:#x}")

Build

Run the following after installing CMake and Python 3.8+ / pip:

pip install -r src/python/requirements.txt
pip install src/python

Authors

Contributors

contributors-img

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

kdmp_parser-0.6.0-cp312-abi3-win_amd64.whl (78.7 kB view hashes)

Uploaded CPython 3.12+ Windows x86-64

kdmp_parser-0.6.0-cp312-abi3-win32.whl (71.8 kB view hashes)

Uploaded CPython 3.12+ Windows x86

kdmp_parser-0.6.0-cp312-abi3-manylinux_2_35_x86_64.whl (70.4 kB view hashes)

Uploaded CPython 3.12+ manylinux: glibc 2.35+ x86-64

kdmp_parser-0.6.0-cp312-abi3-macosx_12_0_x86_64.whl (65.0 kB view hashes)

Uploaded CPython 3.12+ macOS 12.0+ x86-64

kdmp_parser-0.6.0-cp311-cp311-win_amd64.whl (79.9 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

kdmp_parser-0.6.0-cp311-cp311-win32.whl (72.2 kB view hashes)

Uploaded CPython 3.11 Windows x86

kdmp_parser-0.6.0-cp311-cp311-manylinux_2_35_x86_64.whl (71.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

kdmp_parser-0.6.0-cp311-cp311-macosx_12_0_x86_64.whl (65.7 kB view hashes)

Uploaded CPython 3.11 macOS 12.0+ x86-64

kdmp_parser-0.6.0-cp310-cp310-win_amd64.whl (80.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

kdmp_parser-0.6.0-cp310-cp310-win32.whl (72.4 kB view hashes)

Uploaded CPython 3.10 Windows x86

kdmp_parser-0.6.0-cp310-cp310-manylinux_2_35_x86_64.whl (71.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

kdmp_parser-0.6.0-cp310-cp310-macosx_12_0_x86_64.whl (65.8 kB view hashes)

Uploaded CPython 3.10 macOS 12.0+ x86-64

kdmp_parser-0.6.0-cp39-cp39-win_amd64.whl (80.4 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

kdmp_parser-0.6.0-cp39-cp39-win32.whl (72.8 kB view hashes)

Uploaded CPython 3.9 Windows x86

kdmp_parser-0.6.0-cp39-cp39-manylinux_2_35_x86_64.whl (71.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

kdmp_parser-0.6.0-cp39-cp39-macosx_12_0_x86_64.whl (66.0 kB view hashes)

Uploaded CPython 3.9 macOS 12.0+ x86-64

kdmp_parser-0.6.0-cp38-cp38-win_amd64.whl (80.4 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

kdmp_parser-0.6.0-cp38-cp38-win32.whl (72.8 kB view hashes)

Uploaded CPython 3.8 Windows x86

kdmp_parser-0.6.0-cp38-cp38-manylinux_2_35_x86_64.whl (71.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

kdmp_parser-0.6.0-cp38-cp38-macosx_12_0_x86_64.whl (66.0 kB view hashes)

Uploaded CPython 3.8 macOS 12.0+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page