mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-17 20:35:40 +02:00
Fix issues with SymbolRequirement refactoring.
This commit is contained in:
@@ -35,7 +35,7 @@ to be able to run properly. Any that are defined as optional need not necessari
|
||||
return [requirements.TranslationLayerRequirement(name = 'primary',
|
||||
description = 'Memory layer for the kernel',
|
||||
architectures = ["Intel32", "Intel64"]),
|
||||
requirements.SymbolRequirement(name = "nt_symbols", description = "Windows OS"),
|
||||
requirements.SymbolTableRequirement(name = "nt_symbols", description = "Windows OS"),
|
||||
requirements.IntRequirement(name = 'pid',
|
||||
description = "Process ID to include (all other processes are excluded)",
|
||||
optional = True)]
|
||||
@@ -66,7 +66,7 @@ layers, for example a plugin that carries out some form of difference or statist
|
||||
|
||||
::
|
||||
|
||||
requirements.SymbolRequirement(name = "nt_symbols", description = "Windows OS"),
|
||||
requirements.SymbolTableRequirement(name = "nt_symbols", description = "Windows OS"),
|
||||
|
||||
This requirement specifies the need for a particular `SymbolTable` (:py:class:~`volatility.framework.interfaces.SymbolTableInterface`)
|
||||
to be loaded. This gets populated by various `Automagic` as the nearest sibling to a particular `TranslationLayerRequirement`.
|
||||
|
||||
@@ -181,7 +181,7 @@ class KernelPDBScanner(interfaces.automagic.AutomagicInterface):
|
||||
|
||||
def recurse_symbol_fulfiller(self, context: interfaces.context.ContextInterface,
|
||||
valid_kernels: ValidKernelsType) -> None:
|
||||
"""Fulfills the SymbolRequirements in `self._symbol_requirements` found by the `recurse_symbol_requirements`.
|
||||
"""Fulfills the SymbolTableRequirements in `self._symbol_requirements` found by the `recurse_symbol_requirements`.
|
||||
|
||||
This pass will construct any requirements that may need it in the context it was passed
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class SymbolFinder(interfaces.automagic.AutomagicInterface):
|
||||
config_path: str,
|
||||
requirement: interfaces.configuration.RequirementInterface,
|
||||
progress_callback: constants.ProgressCallback = None) -> None:
|
||||
"""Searches for SymbolRequirements and attempt to populate them"""
|
||||
"""Searches for SymbolTableRequirements and attempt to populate them"""
|
||||
|
||||
# Bomb out early if our details haven't been configured
|
||||
if self.symbol_class is None:
|
||||
|
||||
@@ -88,7 +88,7 @@ class AutomagicInterface(interfaces.configuration.ConfigurableInterface, metacla
|
||||
shortcut: Only returns requirements that live under unsatisfied requirements
|
||||
|
||||
Returns:
|
||||
A list of tuples containing the config_path, sub_config_path and requirement identifying the SymbolRequirements
|
||||
A list of tuples containing the config_path, sub_config_path and requirement identifying the SymbolTableRequirements
|
||||
"""
|
||||
sub_config_path = interfaces.configuration.path_join(config_path, requirement_root.name)
|
||||
results = [] # type: List[Tuple[str, interfaces.configuration.RequirementInterface]]
|
||||
|
||||
@@ -36,7 +36,7 @@ class PsScan(plugins.PluginInterface, timeliner.TimeLinerInterface):
|
||||
return [
|
||||
requirements.TranslationLayerRequirement(
|
||||
name = 'primary', description = 'Memory layer for the kernel', architectures = ["Intel32", "Intel64"]),
|
||||
requirements.SymbolRequirement(name = "nt_symbols", description = "Windows kernel symbols"),
|
||||
requirements.SymbolTableRequirement(name = "nt_symbols", description = "Windows kernel symbols"),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user