Skip to main content

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

Project description

Python Bindings for udmp-parser

Code style: black Licence MIT

udmp-parser is a cross-platform C++ parser library for Windows user minidumps written by 0vercl0k. The Python bindings were added by hugsy. Refer to the project page on Github for documentation, issues and pull requests.

parser

The library supports Intel 32-bit / 64-bit dumps and provides read access to things like:

  • The thread list and their context records,
  • The virtual memory,
  • The loaded modules.

Installing from PyPI

The easiest way is simply to:

pip install udmp_parser

Usage

The Python API was built around the C++ code so the names were preserved. Everything lives within the module udmp_parser. Note: For convenience, a simple pure Python script was added to generate minidumps ready to use:

$ python -i src/python/tests/utils.py
>>> pid, dmppath = generate_minidump_from_process_name("winver.exe")
Minidump generated successfully: PID=3232 -> minidump-winver.exe-1687024880.dmp
>>> pid
3232
>>> dmppath
WindowsPath('minidump-winver.exe-1687024880.dmp'))

Parsing a minidump object is as simple as:

>>> import udmp_parser
>>> udmp_parser.version.major, udmp_parser.version.minor, udmp_parser.version.release
(0, 4, '')
>>> dmp = udmp_parser.UserDumpParser()
>>> dmp.Parse(pathlib.Path("C:/temp/rundll32.dmp"))
True

Feature-wise, here are some examples of usage:

Threads

Get a hashmap of threads (as {TID: ThreadObject}), access their information:

>>> threads = dmp.Threads()
>>> len(threads)
14
>>> threads
{5292: Thread(Id=0x14ac, SuspendCount=0x1, Teb=0x2e8000),
 5300: Thread(Id=0x14b4, SuspendCount=0x1, Teb=0x2e5000),
 5316: Thread(Id=0x14c4, SuspendCount=0x1, Teb=0x2df000),
 3136: Thread(Id=0xc40, SuspendCount=0x1, Teb=0x2ee000),
 4204: Thread(Id=0x106c, SuspendCount=0x1, Teb=0x309000),
 5328: Thread(Id=0x14d0, SuspendCount=0x1, Teb=0x2e2000),
 1952: Thread(Id=0x7a0, SuspendCount=0x1, Teb=0x2f7000),
 3888: Thread(Id=0xf30, SuspendCount=0x1, Teb=0x2eb000),
 1760: Thread(Id=0x6e0, SuspendCount=0x1, Teb=0x2f4000),
 792: Thread(Id=0x318, SuspendCount=0x1, Teb=0x300000),
 1972: Thread(Id=0x7b4, SuspendCount=0x1, Teb=0x2fa000),
 1228: Thread(Id=0x4cc, SuspendCount=0x1, Teb=0x2fd000),
 516: Thread(Id=0x204, SuspendCount=0x1, Teb=0x303000),
 2416: Thread(Id=0x970, SuspendCount=0x1, Teb=0x306000)}

And access invidual thread, including their register context:

>>> thread = threads[5292]
>>> print(f"RIP={thread.Context.Rip:#x} RBP={thread.Context.Rbp:#x} RSP={thread.Context.Rsp:#x}")
RIP=0x7ffc264b0ad4 RBP=0x404fecc RSP=0x7de628

Modules

Get a hashmap of modules (as {address: ModuleObject}), access their information:

>>> modules = dmp.Modules()
>>> modules
{1572864: Module_t(BaseOfImage=0x180000, SizeOfImage=0x3000, ModuleName=C:\Windows\SysWOW64\sfc.dll),
 10813440: Module_t(BaseOfImage=0xa50000, SizeOfImage=0x14000, ModuleName=C:\Windows\SysWOW64\rundll32.exe),
 1929052160: Module_t(BaseOfImage=0x72fb0000, SizeOfImage=0x11000, ModuleName=C:\Windows\SysWOW64\wkscli.dll),
 1929183232: Module_t(BaseOfImage=0x72fd0000, SizeOfImage=0x52000, ModuleName=C:\Windows\SysWOW64\mswsock.dll),
 1929576448: Module_t(BaseOfImage=0x73030000, SizeOfImage=0xf000, ModuleName=C:\Windows\SysWOW64\browcli.dll),
 1929641984: Module_t(BaseOfImage=0x73040000, SizeOfImage=0xa000, ModuleName=C:\Windows\SysWOW64\davhlpr.dll),
 1929707520: Module_t(BaseOfImage=0x73050000, SizeOfImage=0x19000, ModuleName=C:\Windows\SysWOW64\davclnt.dll),
 1929838592: Module_t(BaseOfImage=0x73070000, SizeOfImage=0x18000, ModuleName=C:\Windows\SysWOW64\ntlanman.dll),
 [...]
 140720922427392: Module_t(BaseOfImage=0x7ffc24980000, SizeOfImage=0x83000, ModuleName=C:\Windows\System32\wow64win.dll),
 140720923017216: Module_t(BaseOfImage=0x7ffc24a10000, SizeOfImage=0x59000, ModuleName=C:\Windows\System32\wow64.dll),
 140720950280192: Module_t(BaseOfImage=0x7ffc26410000, SizeOfImage=0x1f8000, ModuleName=C:\Windows\System32\ntdll.dll)}

Access directly module info:

>>> ntdll_modules = [mod for addr, mod in dmp.Modules().items() if mod.ModuleName.lower().endswith("ntdll.dll")]
>>> len(ntdll_modules)
2
>>> for ntdll in ntdll_modules:
  print(f"{ntdll.ModuleName=} {ntdll.BaseOfImage=:#x} {ntdll.SizeOfImage=:#x}")

ntdll.ModuleName='C:\\Windows\\SysWOW64\\ntdll.dll' ntdll.BaseOfImage=0x77430000 ntdll.SizeOfImage=0x1a4000
ntdll.ModuleName='C:\\Windows\\System32\\ntdll.dll' ntdll.BaseOfImage=0x7ffc26410000 ntdll.SizeOfImage=0x1f8000

A convenience function under udmp_parser.UserDumpParser.ReadMemory() can be used to directly read memory from the dump. The signature of the function is as follow: def ReadMemory(Address: int, Size: int) -> list[int]. So to dump for instance the wow64 module, it would go as follow:

>>> wow64 = [mod for addr, mod in dmp.Modules().items() if mod.ModuleName.lower() == r"c:\windows\system32\wow64.dll"][0]
>>> print(str(wow64))
Module_t(BaseOfImage=0x7ffc24a10000, SizeOfImage=0x59000, ModuleName=C:\Windows\System32\wow64.dll)
>>> wow64_module = bytearray(dmp.ReadMemory(wow64.BaseOfImage, wow64.SizeOfImage))
>>> assert wow64_module[:2] == b'MZ'
>>> import hexdump
>>> hexdump.hexdump(wow64_module[:128])
00000000: 4D 5A 90 00 03 00 00 00  04 00 00 00 FF FF 00 00  MZ..............
00000010: B8 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00  ........@.......
00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
00000030: 00 00 00 00 00 00 00 00  00 00 00 00 E8 00 00 00  ................
00000040: 0E 1F BA 0E 00 B4 09 CD  21 B8 01 4C CD 21 54 68  ........!..L.!Th
00000050: 69 73 20 70 72 6F 67 72  61 6D 20 63 61 6E 6E 6F  is program canno
00000060: 74 20 62 65 20 72 75 6E  20 69 6E 20 44 4F 53 20  t be run in DOS
00000070: 6D 6F 64 65 2E 0D 0D 0A  24 00 00 00 00 00 00 00  mode....$.......

Memory

The memory blocks can also be enumerated in a hashmap {address: MemoryBlock}.

>>> memory = dmp.Memory()
>>> len(memory)
0x260
>>> memory
[...]
 0x7ffc26410000: [MemBlock_t(BaseAddress=0x7ffc26410000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x1000)],
 0x7ffc26411000: [MemBlock_t(BaseAddress=0x7ffc26411000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x11c000)],
 0x7ffc2652d000: [MemBlock_t(BaseAddress=0x7ffc2652d000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x49000)],
 0x7ffc26576000: [MemBlock_t(BaseAddress=0x7ffc26576000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x1000)],
 0x7ffc26577000: [MemBlock_t(BaseAddress=0x7ffc26577000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x2000)],
 0x7ffc26579000: [MemBlock_t(BaseAddress=0x7ffc26579000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x9000)],
 0x7ffc26582000: [MemBlock_t(BaseAddress=0x7ffc26582000, AllocationBase=0x7ffc26410000, AllocationProtect=0x80, RegionSize=0x86000)],
 0x7ffc26608000: [MemBlock_t(BaseAddress=0x7ffc26608000, AllocationBase=0x0, AllocationProtect=0x0, RegionSize=0x3d99e8000)]}

To facilitate the parsing in a human-friendly manner, some helper functions are provided:

  • udmp_parser.utils.TypeToString: convert the region type to its meaning (from MSDN)
  • udmp_parser.utils.StateToString: convert the region state to its meaning (from MSDN)
  • udmp_parser.utils.ProtectionToString: convert the region protection to its meaning (from MSDN)

This allows to search and filter in a more comprehensible way:

# Collect only executable memory regions
>>> exec_regions = [region for _, region in dmp.Memory().items() if "PAGE_EXECUTE_READ" in udmp_parser.utils.ProtectionToString(region.Protect)]

# Pick any, disassemble code using capstone
>>> exec_region = exec_regions[-1]
>>> mem = dmp.ReadMemory(exec_region.BaseAddress, 0x100)
>>> for insn in cs.disasm(bytearray(mem), exec_region.BaseAddress):
  print(f"{insn=}")

insn=<CsInsn 0x7ffc26582000 [cc]: int3 >
insn=<CsInsn 0x7ffc26582001 [cc]: int3 >
insn=<CsInsn 0x7ffc26582002 [cc]: int3 >
insn=<CsInsn 0x7ffc26582003 [cc]: int3 >
insn=<CsInsn 0x7ffc26582004 [cc]: int3 >
insn=<CsInsn 0x7ffc26582005 [cc]: int3 >
insn=<CsInsn 0x7ffc26582006 [cc]: int3 >
insn=<CsInsn 0x7ffc26582007 [cc]: int3 >
insn=<CsInsn 0x7ffc26582008 [cc]: int3 >
insn=<CsInsn 0x7ffc26582009 [cc]: int3 >
insn=<CsInsn 0x7ffc2658200a [cc]: int3 >
insn=<CsInsn 0x7ffc2658200b [cc]: int3 >
insn=<CsInsn 0x7ffc2658200c [cc]: int3 >
insn=<CsInsn 0x7ffc2658200d [cc]: int3 >
insn=<CsInsn 0x7ffc2658200e [cc]: int3 >
insn=<CsInsn 0x7ffc2658200f [cc]: int3 >
insn=<CsInsn 0x7ffc26582010 [48895c2410]: mov qword ptr [rsp + 0x10], rbx>
insn=<CsInsn 0x7ffc26582015 [4889742418]: mov qword ptr [rsp + 0x18], rsi>
insn=<CsInsn 0x7ffc2658201a [57]: push rdi>
insn=<CsInsn 0x7ffc2658201b [4156]: push r14>
insn=<CsInsn 0x7ffc2658201d [4157]: push r15>
[...]

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

If you're not sure about the file name format, learn more about wheel file names.

udmp_parser-0.7.0-cp313-abi3-win_amd64.whl (104.0 kB view details)

Uploaded CPython 3.13+Windows x86-64

udmp_parser-0.7.0-cp313-abi3-win32.whl (97.5 kB view details)

Uploaded CPython 3.13+Windows x86

udmp_parser-0.7.0-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (241.0 kB view details)

Uploaded CPython 3.13+manylinux: glibc 2.17+ x86-64

udmp_parser-0.7.0-cp313-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (259.9 kB view details)

Uploaded CPython 3.13+manylinux: glibc 2.17+ i686

udmp_parser-0.7.0-cp313-abi3-macosx_10_15_x86_64.whl (90.3 kB view details)

Uploaded CPython 3.13+macOS 10.15+ x86-64

udmp_parser-0.7.0-cp312-cp312-win_amd64.whl (104.0 kB view details)

Uploaded CPython 3.12Windows x86-64

udmp_parser-0.7.0-cp312-cp312-win32.whl (97.5 kB view details)

Uploaded CPython 3.12Windows x86

udmp_parser-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (241.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

udmp_parser-0.7.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (260.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

udmp_parser-0.7.0-cp312-cp312-macosx_10_15_x86_64.whl (90.3 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

udmp_parser-0.7.0-cp311-cp311-win_amd64.whl (104.5 kB view details)

Uploaded CPython 3.11Windows x86-64

udmp_parser-0.7.0-cp311-cp311-win32.whl (97.7 kB view details)

Uploaded CPython 3.11Windows x86

udmp_parser-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (242.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

udmp_parser-0.7.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (260.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

udmp_parser-0.7.0-cp311-cp311-macosx_10_15_x86_64.whl (90.6 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

udmp_parser-0.7.0-cp310-cp310-win_amd64.whl (104.3 kB view details)

Uploaded CPython 3.10Windows x86-64

udmp_parser-0.7.0-cp310-cp310-win32.whl (97.5 kB view details)

Uploaded CPython 3.10Windows x86

udmp_parser-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (241.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

udmp_parser-0.7.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (260.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

udmp_parser-0.7.0-cp310-cp310-macosx_10_15_x86_64.whl (90.3 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

udmp_parser-0.7.0-cp39-cp39-win_amd64.whl (104.7 kB view details)

Uploaded CPython 3.9Windows x86-64

udmp_parser-0.7.0-cp39-cp39-win32.whl (98.0 kB view details)

Uploaded CPython 3.9Windows x86

udmp_parser-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (241.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

udmp_parser-0.7.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (260.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

udmp_parser-0.7.0-cp39-cp39-macosx_10_15_x86_64.whl (90.5 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

udmp_parser-0.7.0-cp38-cp38-win_amd64.whl (104.1 kB view details)

Uploaded CPython 3.8Windows x86-64

udmp_parser-0.7.0-cp38-cp38-win32.whl (97.3 kB view details)

Uploaded CPython 3.8Windows x86

udmp_parser-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (241.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

udmp_parser-0.7.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (259.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

udmp_parser-0.7.0-cp38-cp38-macosx_10_15_x86_64.whl (89.5 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

File details

Details for the file udmp_parser-0.7.0-cp313-abi3-win_amd64.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp313-abi3-win_amd64.whl
  • Upload date:
  • Size: 104.0 kB
  • Tags: CPython 3.13+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fa783b77d4aae026ce69178ecdc75cc825d0ce804ff604d60970969b3ed8d93f
MD5 c455ba0b281b06e26617819d964fb30b
BLAKE2b-256 45a97e61f923285ba530b65863415b420f3a481c55ae06ddf0f1b31d9b808aa4

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp313-abi3-win32.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp313-abi3-win32.whl
  • Upload date:
  • Size: 97.5 kB
  • Tags: CPython 3.13+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp313-abi3-win32.whl
Algorithm Hash digest
SHA256 875a55b8d21c7d92b256f5df9eecc65b6a0f240f87b62f38c1c94f63844747b5
MD5 63bd4b18b9b282bd3da62197ebf907df
BLAKE2b-256 2eac11399d0ae2e4a5ed828696f0743160b254da89ae6674af39c04d8dd5b646

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1167f538a5f2dd5f42d41cda5cb6fe0ea86455d1ad68346a10f543be342280ab
MD5 0343b9118ad7472173c8db1eef0d1020
BLAKE2b-256 2c4312ac98313cf8fdb4285e82468e629fe78ca8cfda331eb8ae4e64d07c72e4

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp313-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp313-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e618e1e593dd40a55f11ad0c235220c8a7ffce7105548299a79c19fd1caead9e
MD5 37f221f81092637a869c3fa5c8a3a523
BLAKE2b-256 898c438afc021aeab4c32c1b4ba0152f3b0b84f0a39662a62082075e639cab78

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp313-abi3-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp313-abi3-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 13ec2c914f4ab5adb0f63cc9b5de12d2b6a1a1df9557bf1e4ef1e9a072bdd6c4
MD5 f7fad05b8aa8ac2cc8d67a88f29b0327
BLAKE2b-256 bb64215f52bd4ac78d7f20ff1a79b1097ad06193158880a7861713b18c2bf6b8

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 91457388f5444790bddda0b731212246e64106d0d18677e03c327d89b1ae920f
MD5 b9d4b4328fb68a56c325cb38ab57de9f
BLAKE2b-256 0e68388fe1198e1131d0ad6e3a898b3a8af67b8caa79f3088cb935f2d78c2f71

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 97.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 f90f8921ef7e4cb678728cb0dc86a1976a54b46fe4c831db94305ac73cb28c13
MD5 48b2be08f2e937e7176244a7cfa5b224
BLAKE2b-256 349fabfb97574c4464c1fa5518d5f7ea525b2e1732e151795152813d41acb44c

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 008e33fcda20e8eabe6641b1a72da46f6c9c1e1ea5e2fd22d2871d4f3a333ade
MD5 53a949b4955d7fb6a4eaeaf4c9fc6791
BLAKE2b-256 2ffd9d8a20d15d2d13eacc027b6ccbdd78b1fb8b9a55fbb1a3fe629048123df5

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f4f08d70236f34e556d74175a9d66a16ce58ef6eaf17b860090698dcf741b6da
MD5 6232b21a470b142e900b66870c5f9dc5
BLAKE2b-256 78eb680650bc6602673bb40b23c8aa681b8301482dbac3b2e51dca0a3eadfc90

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 86a14c132d8a3a5dd5fc8417d26e816185468bbbf4e5d66805e3050825ddd127
MD5 eb867e9d639d720b0edee2bd91b0e73b
BLAKE2b-256 ead07a9f953591c87141e23a4382ff09cf967f3a96c2cb80c53ad07c3e86dc95

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1f2b9e72999cb8af46a32525017358ee67dd1b50d38fc2c61c4b8a21ee3f69c7
MD5 cfad75b3d0495fd50a4a9d273de2bed8
BLAKE2b-256 0f1954f067b7061b49ccd33cfb882c396661e20aa7d5ac5d68f43f3118b29b3f

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 97.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 794f03d1e5a9975b985a8fd26f1604bbf99bb37f4cc621af6194522bfb0eed80
MD5 71a8acf28ca3f278e3ed97339b153fc9
BLAKE2b-256 6f4514f0c95f1e4db056adc2729688afd402b6b6252ecdfd09e9651f968b6a84

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c51dce289758520f2601e1ddc319f8a4732c8c6343ae0c049fafaa8e60b0b72
MD5 253b0b222563bc5181e75c33a13b5362
BLAKE2b-256 fde2231337887d63acd8ff9579281ee85092369cdc42c33d362bfff3ab2b1158

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dfa5f469a9fe796bcae59d0a91a0e645ac318a4b449922030bb0c7fbab1aaaf3
MD5 7eaebcaac41f97b0ae5ed79086d20aa5
BLAKE2b-256 143b83db65138cbc1fb29cb348c6e2a3ce827658d0e6c086cafd14128c7fd257

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3078fb7e70f54d829f0969919c3675c24317a76ba52242b9c5137b4422c3b877
MD5 1f0214e2866e180b7c3c0ef38a1afcbf
BLAKE2b-256 111a632c26944982b5bd6acd91eb7efa684f78acc980fd250c7c090e7892b088

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fe21ede934f611b3fb468903ff6decaafa76556f6e91bd2a76ae285ee6fd13ec
MD5 d8087a7266d0b6c1e94c5c6ba8dde98a
BLAKE2b-256 7f7497b6245fbdb5c2fe4237380632cce54c1b79691b1b3cc6dc46c0fe117c1a

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 97.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 aa05e15a6965c639dda5adf6daaaa03771d9db442eef5add4e7fdfd7cb342361
MD5 cea26f6c30950ec75d245bad06b690c7
BLAKE2b-256 94dc96f5815387c22c1e21d28eaa24c341c2cbb201d69e64a2e2f170798cbe3f

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7bd12b7f4f98f8d54d924d6158128d7a1f25795b46b575a8bcd982bd1bc3043
MD5 4c9e1164a8fd5d405f827172f83bb90d
BLAKE2b-256 8d646e3795d35a4a0ff1a29d1868bcb3528f8c4c2567eea15dfa74c47da4f8ac

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1025fd48b5de82a783cbb2dad16ccca1d6701662b95cbfc2f11ae4b09362de95
MD5 dfe9b90f581d9faa13740e10c6897fd1
BLAKE2b-256 5077ce6505b46c2f7725b378fbd3ecefb6a3092a0ea08060035b55f5309d7c1a

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 687d64991af15e0ef0edf0b2a614d463821eb4da51eb1f0d9c921dde06509f10
MD5 ec8d5058cdb23a78f576eb1da2416b93
BLAKE2b-256 10a01ef5e8d25dcb3cb59b30ca34824098c7b6f591ba6c395b02dc30a6249711

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 104.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3078bf84ce41267ce48b0cdbaa734ee0875a9e10c20b342f65d47da677a54ba4
MD5 dc57932d1abab6d7737f8e63eb4d6b84
BLAKE2b-256 fdb4fa4db3c82878efcc8147b534988f3fd3f4b62ae0f8cabcc02758674e3c27

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 98.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 097e0c0dc03ba43c0c16a5c2853c34dfae3a63b82db17809a89b5f4f38238d02
MD5 47e9737cc1eb607c7ec2628c7729045d
BLAKE2b-256 10940b17ca2979b2777c5fb1b35529fd6670a9fc60152122d740b752bd573e26

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82c13ed923ea8e0fe83299eb6475cc2106ddcb08dff1bbd0036091d5587813e7
MD5 c3b760a856815018f6da0362c0ec89d8
BLAKE2b-256 47b632ac3556d671778ae69caf8fb32662d67c58d5e1cc7baa2979d9164c0db3

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e6a42a929e03ff051b3d3121a5efe700071726efbd46ada0eaca6b923b1624b4
MD5 5764dc05eca2c1043370263136010675
BLAKE2b-256 45e9ee9f5109961306b5c8b7c7d4c01d7f23a906d1c612c71e207918b42b9cb3

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0ff65c317ceefff6c317e156b701d868757b3bd51809852019f6531d084bf56b
MD5 e25dcbb8421ba87f6ead5acbd83f1c09
BLAKE2b-256 f3e185ea5515368feca611b31cefb54db03bdaec12da5d56466751504c27edb9

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 104.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d9d9ef1ec96502a8b0ad098892b47d06159ad3ee0cee3bb199877f16dd1b6c16
MD5 8ab35cd8d82e1d8f16a4321fff1edd6a
BLAKE2b-256 6803697f4b2f8e7819308db36d9c1e786aae2fa9754a5843cdab77ba0c80f6db

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: udmp_parser-0.7.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 97.3 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for udmp_parser-0.7.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 65b43ef90186564293bfcf48761cf0ea00249241e2668ece87766837a6eab60d
MD5 c145fe28849589be8982bbf98001f1e0
BLAKE2b-256 675dfe8301b876047f259ca118dd5937516cf489f99df5adad3133a88ca845ed

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37ccf6d96817407c8c3a73712e6eb782cb0daa0f41beff6da94e90ad3b6c8cb7
MD5 7b52fb0beef6601597e1638771943f4c
BLAKE2b-256 0a85276f6bce9d00f440a548d180d754315a3cfeb162231f8dcd6e74ea9a32ca

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 52bc653e83e68d1e5a2e87677bb65fce4948e67ae272879da5742fa4de6c0df4
MD5 ddfd40db38b196c0867746d424adf4db
BLAKE2b-256 e47d1e3a4b31e238cf37f0826d6c571e1782e017d8e9e7bfa35bd213b2c1ce84

See more details on using hashes here.

File details

Details for the file udmp_parser-0.7.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for udmp_parser-0.7.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3b614ad068945978ace20c0bf178a2d7655661ab2d572da0b87fa746e5a3490a
MD5 25d818f3decb92db7ea0b8bddd023af2
BLAKE2b-256 701c72acd710f048c0747fd8fc87be740e96e5c8a0444fc68dce33f9e81dade2

See more details on using hashes here.

Supported by

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