Skip to content

Commit c270cf4

Browse files
committed
RegexScan: parameterize _generator
1 parent 742b063 commit c270cf4

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

volatility3/framework/plugins/regexscan.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
4646
),
4747
]
4848

49-
def _generator(self, layer, pattern, maxsize):
49+
def _generator(self, context, layer_name, pattern, maxsize):
50+
layer = self.context.layers[layer_name]
5051
vollog.debug(f"RegEx Pattern: {pattern}")
5152

5253
# Convert string pattern to bytes for RegExScanner
@@ -60,7 +61,7 @@ def _generator(self, layer, pattern, maxsize):
6061
raise ValueError(f"Invalid regex pattern: {e}")
6162

6263
for offset in layer.scan(
63-
context=self.context, scanner=scanners.RegExScanner(pattern_bytes)
64+
context=context, scanner=scanners.RegExScanner(pattern_bytes)
6465
):
6566
result_data = layer.read(offset, maxsize, pad=True)
6667

@@ -83,13 +84,14 @@ def _generator(self, layer, pattern, maxsize):
8384
def run(self):
8485
pattern = self.config.get("pattern")
8586
maxsize = self.config.get("maxsize", self.MAXSIZE_DEFAULT)
86-
layer = self.context.layers[self.config["primary"]]
87+
layer_name = self.config["primary"]
88+
context = self.context
8789

8890
return renderers.TreeGrid(
8991
[
9092
("Offset", format_hints.Hex),
9193
("Text", str),
9294
("Hex", bytes),
9395
],
94-
self._generator(layer, pattern, maxsize),
96+
self._generator(context, layer_name, pattern, maxsize),
9597
)

0 commit comments

Comments
 (0)