Skip to content

Commit 8df8f77

Browse files
committed
Do not yield DRIVER_OBJECT instances found in scanning that are not actual instances #1481
1 parent a68be50 commit 8df8f77

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

volatility3/framework/plugins/windows/driverscan.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ def scan_drivers(
5555
context, layer_name, symbol_table, constraints
5656
):
5757
_constraint, mem_object, _header = result
58+
59+
# *Many* _DRIVER_OBJECT instances were found at the end of a page
60+
# leading to member access causing backtraces across several plugins
61+
# when members were accessed as the next page was paged out.
62+
# `DriverStart` is the first member from the beginning of the structure
63+
# of interest to plugins, so if it is not accessible then this instance
64+
# is not useful or usable during analysis
65+
try:
66+
mem_object.DriverStart
67+
except exceptions.InvalidAddressException:
68+
continue
69+
5870
yield mem_object
5971

6072
@classmethod

0 commit comments

Comments
 (0)