Skip to content

Commit b35f0a2

Browse files
committed
Windows: Remove VAD length check in thread enumeration
This exclusion of threads where there are < 5 vads seems to filter valid threads (at least, threads where the start address or Win32 start address values are readable and valid disassembly, and the start time makes sense in the context of the parent process).
1 parent aba3b04 commit b35f0a2

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

volatility3/framework/plugins/windows/thrdscan.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,17 +131,16 @@ def gather_thread_info(
131131
vads = pe_symbols.PESymbols.get_vads_for_process_cache(
132132
vads_cache, owner_proc
133133
)
134-
if not vads or len(vads) < 5:
135-
vollog.debug(
136-
f"Not enough vads for process at {owner_proc.vol.offset:#x}. Skipping thread at {ethread.vol.offset:#x}"
137-
)
138-
return None
139134

140-
start_path = pe_symbols.PESymbols.filepath_for_address(
141-
vads, thread_start_addr
135+
start_path = (
136+
pe_symbols.PESymbols.filepath_for_address(vads, thread_start_addr)
137+
if vads
138+
else None
142139
)
143-
win32start_path = pe_symbols.PESymbols.filepath_for_address(
144-
vads, thread_win32start_addr
140+
win32start_path = (
141+
pe_symbols.PESymbols.filepath_for_address(vads, thread_win32start_addr)
142+
if vads
143+
else None
145144
)
146145
else:
147146
start_path = None

0 commit comments

Comments
 (0)