volatility3.plugins.windows.pslist module
- class PsList(context, config_path, progress_callback=None)[source]
Bases:
PluginInterface
,TimeLinerInterface
Lists the processes present in a particular windows memory image.
- Parameters:
- PHYSICAL_DEFAULT = False
- build_configuration()
Constructs a HierarchicalDictionary of all the options required to build this component in the current context.
Ensures that if the class has been created, it can be recreated using the configuration built Inheriting classes must override this to ensure any dependent classes update their configurations too
- Return type:
- property config: HierarchicalDict
The Hierarchical configuration Dictionary for this Configurable object.
- property context: ContextInterface
The context object that this configurable belongs to/configuration is stored in.
- classmethod create_active_process_filter()[source]
- A factory for producing a filter function that only returns
active, userland processes. This prevents plugins from operating on terminated processes that are still in the process list due to smear or handle leaks as well as kernel processes (System, Registry, etc.). Use of this filter for plugins searching for system state anomalies significantly reduces false positive in smeared and terminated processes.
- Return type:
- Returns:
Filter function for passing to the list_processes method
- classmethod create_name_filter(name_list=None, exclude=False)[source]
A factory for producing filter functions that filter based on a list of process names.
- classmethod create_pid_filter(pid_list=None, exclude=False)[source]
A factory for producing filter functions that filter based on a list of process IDs.
- generate_timeline()[source]
Method generates Tuples of (description, timestamp_type, timestamp)
These need not be generated in any particular order, sorting will be done later
- classmethod list_processes(context, layer_name, symbol_table, filter_func=<function PsList.<lambda>>)[source]
Lists all the processes in the primary layer that are in the pid config option.
- Parameters:
context (
ContextInterface
) – The context to retrieve required elements (layers, symbol tables) fromlayer_name (
str
) – The name of the layer on which to operatesymbol_table (
str
) – The name of the table containing the kernel symbolsfilter_func (
Callable
[[ObjectInterface
],bool
]) – A function which takes an EPROCESS object and returns True if the process should be ignored/filtered
- Return type:
- Returns:
The list of EPROCESS objects from the layer_name layer’s PsActiveProcessHead list after filtering
- classmethod make_subconfig(context, base_config_path, **kwargs)
Convenience function to allow constructing a new randomly generated sub-configuration path, containing each element from kwargs.
- Parameters:
context (
ContextInterface
) – The context in which to store the new configurationbase_config_path (
str
) – The base configuration path on which to build the new configurationkwargs – Keyword arguments that are used to populate the new configuration path
- Returns:
The newly generated full configuration path
- Return type:
- property open
Returns a context manager and thus can be called like open
- classmethod process_dump(context, kernel_table_name, pe_table_name, proc, open_method)[source]
Extracts the complete data for a process as a FileHandlerInterface
- Parameters:
context (
ContextInterface
) – the context to operate uponkernel_table_name (
str
) – the name for the symbol table containing the kernel’s symbolspe_table_name (
str
) – the name for the symbol table containing the PE format symbolsproc (
ObjectInterface
) – the process object whose memory should be outputopen_method (
Type
[FileHandlerInterface
]) – class to provide context manager for opening the file
- Return type:
- Returns:
An open FileHandlerInterface object containing the complete data for the process or None in the case of failure
- run()[source]
Executes the functionality of the code.
Note
This method expects self.validate to have been called to ensure all necessary options have been provided
- Returns:
A TreeGrid object that can then be passed to a Renderer.
- classmethod unsatisfied(context, config_path)
Returns a list of the names of all unsatisfied requirements.
Since a satisfied set of requirements will return [], it can be used in tests as follows:
unmet = configurable.unsatisfied(context, config_path) if unmet: raise RuntimeError("Unsatisfied requirements: {}".format(unmet)
- Return type:
- version = (2, 0, 0)