From d77399b82b4f13db52f1ec0e79c3bbb3f8c4e6ba Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Mon, 30 Nov 2020 23:47:53 +0000 Subject: [PATCH] Pdbconv: Use both pefile and volatility to get the guid --- .../framework/symbols/windows/pdbutil.py | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/volatility/framework/symbols/windows/pdbutil.py b/volatility/framework/symbols/windows/pdbutil.py index 196cfc526..8462f4216 100644 --- a/volatility/framework/symbols/windows/pdbutil.py +++ b/volatility/framework/symbols/windows/pdbutil.py @@ -3,6 +3,7 @@ # import binascii +import io import json import logging import lzma @@ -16,6 +17,7 @@ from volatility.framework import constants, interfaces from volatility.framework.configuration.requirements import SymbolTableRequirement from volatility.framework.symbols import intermed from volatility.framework.symbols.windows import pdbconv +from volatility.framework.symbols.windows.extensions import pe vollog = logging.getLogger(__name__) @@ -124,21 +126,36 @@ class PDBUtility: if mz_sig != b"MZ": return None - nt_header_start = ord(layer.read(offset + 0x3C, 1)) - optional_header_size = struct.unpack('