From 1f4498be37c54a7ba2f1d70bd3d455b82490bbf7 Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Sat, 23 Nov 2019 20:51:20 +0000 Subject: [PATCH] MultiRegExScanner: Results are always bytes and never strings --- volatility/framework/layers/scanners/__init__.py | 2 +- volatility/framework/layers/scanners/multiregexp.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/volatility/framework/layers/scanners/__init__.py b/volatility/framework/layers/scanners/__init__.py index fc7158a58..45208161d 100644 --- a/volatility/framework/layers/scanners/__init__.py +++ b/volatility/framework/layers/scanners/__init__.py @@ -53,7 +53,7 @@ class MultiStringScanner(layers.ScannerInterface): self._patterns.add_pattern(pattern) self._patterns.preprocess() - def __call__(self, data: bytes, data_offset: int) -> Generator[Tuple[int, Union[str, bytes]], None, None]: + def __call__(self, data: bytes, data_offset: int) -> Generator[Tuple[int, bytes], None, None]: """Runs through the data looking for the needles.""" for offset, pattern in self._patterns.search(data): if offset < self.chunk_size: diff --git a/volatility/framework/layers/scanners/multiregexp.py b/volatility/framework/layers/scanners/multiregexp.py index 16c23a62a..d69f4cf72 100644 --- a/volatility/framework/layers/scanners/multiregexp.py +++ b/volatility/framework/layers/scanners/multiregexp.py @@ -21,8 +21,7 @@ class MultiRegexp(object): raise ValueError("No strings to compile into a regular expression") self._regex = re.compile(b'|'.join(map(re.escape, self._pattern_strings))) - def search(self, haystack: bytes) \ - -> Generator[Tuple[int, Union[str, bytes]], None, None]: + def search(self, haystack: bytes) -> Generator[Tuple[int, bytes], None, None]: if not isinstance(haystack, bytes): raise TypeError("Search haystack must be a byte string") if not self._regex.pattern: