#1780 - add LoadCount to dlllist output

This commit is contained in:
Dave Lassalle
2025-04-17 16:42:17 -05:00
parent 63f7cbd447
commit 4d19181848
3 changed files with 21 additions and 0 deletions
@@ -173,6 +173,10 @@ class DllList(interfaces.plugins.PluginInterface, timeliner.TimeLinerInterface):
except exceptions.InvalidAddressException:
size_of_image = renderers.NotAvailableValue()
LoadCount = entry.get_load_count()
if LoadCount is None:
LoadCount = renderers.NotAvailableValue()
yield (
0,
(
@@ -186,6 +190,7 @@ class DllList(interfaces.plugins.PluginInterface, timeliner.TimeLinerInterface):
size_of_image,
BaseDllName,
FullDllName,
LoadCount,
DllLoadTime,
file_output,
),
@@ -232,6 +237,7 @@ class DllList(interfaces.plugins.PluginInterface, timeliner.TimeLinerInterface):
("Size", format_hints.Hex),
("Name", str),
("Path", str),
("LoadCount", int),
("LoadTime", datetime.datetime),
("File output", str),
],
@@ -41,6 +41,7 @@ class WindowsKernelIntermedSymbols(intermed.IntermediateSymbolTable):
self.set_type_class("_POOL_TRACKER_BIG_PAGES", pool.POOL_TRACKER_BIG_PAGES)
self.set_type_class("_IMAGE_DOS_HEADER", pe.IMAGE_DOS_HEADER)
self.set_type_class("_KTIMER", extensions.KTIMER)
self.set_type_class("_LDR_DATA_TABLE_ENTRY", extensions.LDR_DATA_TABLE_ENTRY)
# Might not necessarily defined in every version of windows
self.optional_set_type_class("_IMAGE_NT_HEADERS", pe.IMAGE_NT_HEADERS)
@@ -1710,3 +1710,17 @@ class SHARED_CACHE_MAP(objects.StructType):
)
return vacb_list
class LDR_DATA_TABLE_ENTRY(objects.StructType):
def get_load_count(self) -> Optional[int]:
try:
LoadCount = self.LoadCount
except:
try:
LoadCount = self.ObsoleteLoadCount
except:
LoadCount = None
if LoadCount == 65535:
LoadCount = -1
return LoadCount