diff --git a/volatility3/framework/configuration/requirements.py b/volatility3/framework/configuration/requirements.py index 5dd8cc9b5..aa16c6090 100644 --- a/volatility3/framework/configuration/requirements.py +++ b/volatility3/framework/configuration/requirements.py @@ -641,7 +641,10 @@ class ModuleRequirement( @classmethod def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]: - return interfaces.context.ModuleInterface.get_requirements() + return [ + IntRequirement(name="offset"), + SymbolTableRequirement(name="symbol_table_name"), + ] def unsatisfied( self, context: "interfaces.context.ContextInterface", config_path: str diff --git a/volatility3/framework/interfaces/context.py b/volatility3/framework/interfaces/context.py index e7c3e579f..723f2fd46 100644 --- a/volatility3/framework/interfaces/context.py +++ b/volatility3/framework/interfaces/context.py @@ -158,14 +158,6 @@ class ModuleInterface(interfaces.configuration.ConfigurableInterface): super().__init__(context, config_path) self._module_name = name - @classmethod - def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]: - # Can't include the translation layer without knowing the architectures - return [ - SymbolTableRequirement(name="symbol_table_name"), - IntRequirement(name="offset"), - ] - @property def _layer_name(self) -> str: return self.config["layer_name"] diff --git a/volatility3/framework/plugins/windows/ssdt.py b/volatility3/framework/plugins/windows/ssdt.py index 483a1b2ff..d6ec11286 100644 --- a/volatility3/framework/plugins/windows/ssdt.py +++ b/volatility3/framework/plugins/windows/ssdt.py @@ -89,9 +89,8 @@ class SSDT(plugins.PluginInterface): self.context, layer_name, kernel.symbol_table_name ) - ntkrnlmp = self.context.module( - kernel.symbol_table_name, layer_name=kernel.offset, offset=kvo - ) + ntkrnlmp = kernel + kvo = kernel.offset # this is just one way to enumerate the native (NT) service table. # to do the same thing for the Win32K service table, we would need Win32K.sys symbol support